让我们说,Clojure中我有这样定义的列表:使用List作为Clojure的函数体
(def function-body '(+ a b))
接下来我想用function-body
列表作为函数的有效的机构,所以我想做这样的事情:
(defn my-sum [a b] function-body)
产生:
(defn my-sum [a b] (+ a b))
有效期Clojure的鳕鱼即
这是可能用Clojure?如果我应该回归宏观,我应该使用什么样的扩展?
我试图去耦函数体和函数声明的建设。但我明白,也许最简单的方法是将列表包装在fn声明中并评估完整声明。你怎么看待这件事? –
为了什么目的,你试图去耦合函数体和函数声明的构建。 – RedDeckWins
因为这里的想法是从另一个数据结构(即地图)生成实体并可能操纵它们,然后将它们包装在函数声明中。我最终不想使用eval,虽然我明白,宏和eval让我有能力做我想做的每件事...... –