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
