Hi, Am 12.06.2009 um 23:29 schrieb Wrexsoul:
(defn eager-seq [seqq] (loop [v [] s seqq] (if (empty? s) v (recur (conj v (first s)) (rest s)))))
(defn eager-seq [s] (into [] s))
(with-files-line-seq (file1 file2 file3) lines (take 10 lines))
The more idiomatic form would be [file1 file2 file3] for the file arguments. Using (file1 file2 file3) other than function calls is discouraged.
(with-files-line-seq (file1 file2 file3) lines (eager-seq (take 10 lines)))
(with-files-line-seq [file1 file2 file3] lines (doall (take 10 lines)))
(defn to-file [str-or-file] (if (instance? File str-or-file) str-or-file (File. str-or-file)))
I think this exists already somewhere in clojure.contrib.java-utils or so.
(defn reader-on [file] (BufferedReader. (InputStreamReader. (FileInputStream. file)))) (defn writer-on [file] (BufferedWriter. (OutputStreamWriter. (FileOutputStream. file))))
Maybe clojure.contrib.duck-streams?
(defn set-atom! [at value] (swap! at #(do % (identity value))))
(reset! at value) You may complain about Clojure's documentation, but it's not thaaat bad. Sincerely Meikel
smime.p7s
Description: S/MIME cryptographic signature