2016-10-20 5 views
1

私は4clojureで質問を再作成するツリーを解決するためにフォローコードを使用しましたが、答えはclojure.zipです。名前空間は必要ありません。 ?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))) 
+1

安全のため、必要な通話はおそらく省略されています。私はあなたがこの名前空間をプリロードするためにそれらに連絡しなければならないと思います。 –

答えて

0

できません。 4clojureのユーザーコードは名前空間を読み込むことができません。

脇に:Why does reduce give a StackOverflowError in Clojure?のような縮小/連結問題のため、十分に大きな入力があるとコードが失敗します。

+0

ありがとうございます。あなたの答えまでclojureを使って効率に注意を払うことは決してありません。 –

関連する問題