1
以下代码似乎强制要求line-seq
从file
中读取4行。这是一种缓冲机制吗?我需要在这里使用lazy-cat
吗?如果是这样,我怎样才能将一个宏作为一个序列,就像它是可变参数一样?你看到的'concat'是否打破'line-seq'的懒惰?
(defn char-seq [rdr]
(let [coll (line-seq rdr)]
(apply concat (map (fn [x] (println \,) x) coll))))
(def tmp (char-seq (clojure.contrib.io/reader file)))
;,
;,
;,
;,
#'user/tmp