小编Rib*_*elo的帖子

如何在`defmacro`中正确使用syntax-quote和unquote

我有一个简单的宏:

(defmacro macrotest [coll]
  `(let [result# ~(reduce + coll)]
         result#))
Run Code Online (Sandbox Code Playgroud)

为什么,如果此代码有效:

(macrotest [1 2 3])
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用吗?

(def mycoll [1 2 3])
(macrotest mycoll)
Run Code Online (Sandbox Code Playgroud)

macros clojure

5
推荐指数
1
解决办法
246
查看次数

标签 统计

clojure ×1

macros ×1