3

これらの式の両方で同じ結果が得られるのはなぜですか?

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

(. "string" charAt)

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

(. "string" charAt)

「->>」マクロは「string」をリストの最後の要素として挿入するはずではありませんか?

4

1 に答える 1

5

それは最初に に展開されますが(.charAt "string")、これは実際には最後です。次に、そのフォームはさらに に展開され(. "string" charAt)ます。

于 2012-11-03T00:32:44.997 に答える