2012-11-02 51 views
2

爲什麼這兩個表達式都會給出相同的結果?線程優先,線程最後和「點」形式

> (macroexpand-all '(->> "string" (.charAt)))

(. "string" charAt)

> (macroexpand-all '(-> "string" (.charAt)))

(. "string" charAt)

不是 「 - >>」 宏觀調控應該插入 「串」 在列表中的最後一個元素?

回答

4

它首先擴展到(.charAt "string"),這確實是最後一個。然後該表單進一步擴展爲(. "string" charAt)