【发布时间】:2017-05-06 21:14:33
【问题描述】:
我希望能够写出类似的东西
=> (macro? '->)
true
=>
【问题讨论】:
我希望能够写出类似的东西
=> (macro? '->)
true
=>
【问题讨论】:
宏变量具有将其标记为宏的元:
(defn macro? [s] (-> s resolve meta :macro boolean))
【讨论】:
很好的答案。
请注意,这在 ClojureScript 中不起作用,因为宏不会一直进入运行时环境。这意味着例如(resolve 'if) 将返回nil。
【讨论】: