2012-11-02 4 views
2

Почему оба этих выражения дают одинаковый результат?Thread-first, thread-last и "dot" form

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

(. "string" charAt)

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

(. "string" charAt)

Не "- >>" макрос должен вставить "строка" в качестве последнего элемента в списке?

ответ

4

Он распространяется до (.charAt "string"), что действительно является последним. Затем эта форма расширяется до (. "string" charAt).