使用clojure read/read-string函数,我如何在.clj文件中读取对象列表



作为标题,如果我这样做

(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")  )))

最新更新