【发布时间】:2013-01-31 00:38:58
【问题描述】:
我想为每次调用递归函数创建几个项目,并将所有内容收集到一个列表中。也就是说,我想做这样的事情:
(defn myfunc [x]
(loop [x x retur '()]
(when condition1
(let [templist '()]
(if condition2 (def templist (conj templist {:somekey someval})))
(if condition3 (def templist (conj templist {:somekey someval})))
(recur (+ x 1) (concat retur templist))))))
问题是在 Clojure 中我无法重新绑定 let。我想避免使用全局变量。
【问题讨论】: