如果您阅读macro -> with anonymous functions的问题,您会发现->
宏与匿名函数不兼容。要正确使用宏,您需要了解实现。从这个意义上说,这个宏是“漏洞”的 - 实现并没有被API完全隐藏。Clojure宏是否总是泄漏?
Clojure宏是否总是出现漏洞?
[用于比较:C预处理器出现类似的问题,当宏观参数被不小心处理时可以看到奇怪的副作用。在这种情况下,问题可以通过将宏参数放在括号内(宏内部)来解决。这并不能解决使用具有可变状态的C宏的问题(即每次使用参数变异的状态),但也许我们可以忽略功能语言的问题,或者使用let
来避免多重评估。]
thanks - does http://stackoverflow.com/a/10758139/181772解释事情好吗? –