3

为什么这两个表达式给出相同的结果?

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

(. "string" charAt)

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

(. "string" charAt)

“->>”宏不应该将“字符串”作为列表中的最后一个元素插入吗?

4

1 回答 1

5

它首先扩展到(.charAt "string"),这确实是最后一个。然后该形式进一步扩展为(. "string" charAt)

于 2012-11-03T00:32:44.997 回答