【发布时间】:2014-05-08 12:49:44
【问题描述】:
我正在尝试通过宏生成 fn。但我遇到了一个奇怪的问题。 代码在这里。
(defmacro test2 [lmk]
(fn [lmk2] (println lmk lmk2)))
((test2 12) 13) ;;----->Error
(defmacro test3 []
(fn [lmk] (println lmk)))
((test3) 12) ;;----->OK
(defmacro test4 []
`(fn [lmk] (println lmk)))
((test4) 12) ;;----->Error
我知道 defn 可以很好地工作。我只是想知道为什么我不能在这里使用 defmacro。以及为什么 test3 工作得很好,但是 test2 失败了。
【问题讨论】:
-
你得到什么错误?