ファイルを 1 行ずつ読み込んで、各行の末尾に新しい文字列を連結しようとしています。テストのために、私はこれを行いました:
(defn read-file
[filename]
(with-open [rdr (clojure.java.io/reader filename)]
(doall (line-seq rdr))))
(apply str ["asdfasdf" (doall (take 1 (read-file filename)))])
(take 1 (read-file filename))
repl で評価すると、ファイルの最初の行が取得されます。ただし、上記で行ったことを評価しようとすると、"asdfasdfclojure.lang.LazySeq@4be5d1db"
.
take
強制的に評価して遅延シーケンスを返さないようにする方法を誰かが説明できますか?