我只是在学习 clojure 并尝试读取文件并使用返回的结果向量做一些事情。在这种情况下,我只是想把它打印出来。
下面是有问题的代码:
(defn read_file
"Read in a file from the resources directory"
[input]
(with-open [rdr (reader input)]
(doseq [line (line-seq rdr)])))
(defn -main []
(println (read_file "resources/input.txt") ))
Run Code Online (Sandbox Code Playgroud)
println 返回“nil”。我需要做什么才能返回“行”
如果文件不是很大,您可以使用slurp将文件内容作为字符串读取,然后用特定的分隔符(在本例中为\n)拆分它。
(defn read-file [f]
(-> (slurp f)
(clojure.string/split-lines)))
Run Code Online (Sandbox Code Playgroud)