Как использовать clojure.edn / read, чтобы получить последовательность объектов в файле?
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))))))
Как я могу вместо этого распечатать все объекты? Учитывая, что некоторые из них могут быть нулевыми, мне кажется, мне нужно проверить EOF или что-то подобное. Я хочу иметь последовательность объектов, похожую на ту, что я получу.line-seq