我使用了跟随代码来解决4clojure中的树重新托管问题,但答案是不需要clojure.zip命名空间,在未修改我的代码的情况下,我该如何传递它?
(fn gen-tree
[nr tree]
(let [zp (clojure.zip/seq-zip tree)
pnodes (:pnodes (second
(first
(filter
(fn [[nd :as loc]]
(= nr nd))
(iterate clojure.zip/next zp)))))]
(reduce (fn [rs e]
(concat e (list (remove #(= e %) rs))))
pnodes)))
答案 0 :(得分:0)
你不能。 4clojure上的用户代码不允许加载名称空间。
除此之外:由于例如Why does reduce give a StackOverflowError in Clojure?中显示的reduce / concat问题,您的代码将因足够大的输入而失败。