我想在let
不同功能的形式。比方说
(def common-assign
[x 10
y 20])
一种方法是用eval
:
(eval `(defn ~'foo []
(let [~@common-assign
~'hello "world"])
balala))
问题是现在你必须引用所有其他符号,这很麻烦。
还有其他干净的方法来做我想做的事吗?
(defmacro with-common [& body]
`(let ~'[x 10, y 20]
~@body))
(with-common (+ x y))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)