and*_*ndy 3 clojure s-expression
标题是,如果我这样做
(read-string (slurp "somefile"))
Run Code Online (Sandbox Code Playgroud)
这只会给我文件中的第一个对象,这意味着"somefile"如下所示:
(a obj) (b obj)
Run Code Online (Sandbox Code Playgroud)
然后我只得到(一个obj)作为结果.
我如何得到所有对象的列表,像这样?
((a obj) (b obj))
Run Code Online (Sandbox Code Playgroud)
谢谢.
kot*_*rak 10
(defn read-all
[input]
(let [eof (Object.)]
(take-while #(not= % eof) (repeatedly #(read input false eof)))))
Run Code Online (Sandbox Code Playgroud)
我通常把东西包在一个列表中,
(read-string (str \( (slurp "somefile") \)))
Run Code Online (Sandbox Code Playgroud)