【发布时间】:2013-02-20 12:11:36
【问题描述】:
Clojure 1.5 引入了clojure.edn,其中包括一个需要PushbackReader 的读取函数。
如果我想读取前五个对象,我可以这样做:
(with-open [infile (java.io.PushbackReader. (clojure.java.io/reader "foo.txt"))]
(binding [*in* infile]
(let [edn-seq (repeatedly clojure.edn/read)]
(dorun (take 5 (map println edn-seq))))))
我怎样才能打印出所有对象?考虑到其中一些可能是 nil,似乎我需要检查 EOF 或类似的东西。我想要一系列与我从line-seq 获得的对象相似的对象。
【问题讨论】: