2012-09-23 30 views
8

我遇到了這個使用懶惰序列的Pascal三角形的優雅實現。解釋Clojure中的懶惰Pascal三角形

有誰能幫我理解,,,在這方面嗎?我嘗試使用macroexpand但這並沒有讓我走得很遠。我也知道它的使用不是必需的,但我想知道,,,的意思。

回答

13

逗號在Clojure中被視爲空白,因此Reader將完全忽略,,,。它的原因是爲了使代碼更易於人類閱讀。

在這種情況下,宏->>將在調用的最後一個位置插入到(concat ...)(map ...),即在,,,的位置。

,,,通常與->->>宏一起使用,以使代碼更具可讀性,但實際上並沒有做任何事情。