我想在不同函数的let
窗体中重用一组本地任务。比方说,Clojure:在绑定中展开var
(def common-assign
[x 10
y 20])
一个办法做到这一点是eval
:
(eval `(defn ~'foo []
(let [[email protected]
~'hello "world"])
balala))
的问题是,现在你要引用的所有其他符号,这是麻烦的。
有没有其他干净的方式来做我想要的?
用'defmacro'而不是'eval'编写宏。 – dg123