作为标题,如果我这样做
(read-string (slurp "somefile"))
这将只给我文件中的第一个对象,这意味着如果"somefile"如下所示:
(a obj) (b obj)
然后我只得到(a obj)作为结果。
我如何得到所有对象的列表,像这样?
((a obj) (b obj))
谢谢。
(defn read-all
[input]
(let [eof (Object.)]
(take-while #(not= % eof) (repeatedly #(read input false eof)))))
我通常用列表来包装东西,
(read-string (str ( (slurp "somefile") )))