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
。