6

ファイルから読み取るネストされた遅延シーケンスを持つ構造がいくつかあります。私がテストしているとき、ファイルが閉じられる前にすべてのデータがファイルから引き出されることを確認するために、doall の再帰バージョンでそれらをラップできるようにしたいと考えています。

4

3 に答える 3

5
(defn doall-recur [s]
  (if (seq? s)
    (doall (map doall-recur
                s))
    s))

(use 'clojure.contrib.duck-streams)
(with-open [r1 (reader "test1.txt")
            r2 (reader "test2.txt")]
  (doall-recur (list (line-seq r2) (line-seq r1))))

出力:

(("This is test2.txt" "") ("This is test1.txt" ""))
于 2009-08-02T06:43:24.663 に答える
5
(defn doall* [s] (dorun (tree-seq seq? seq s)) s)
于 2009-08-12T13:31:54.150 に答える