Clojureで処理したい大きなテキストファイルがあります。
一度に2行処理する必要があります。
次のバインディングを使用して、パスごとに2行をプルできるように、forループを使用することにしました(rdrは私のリーダーです)。
[[line-a line-b] (partition 2 (line-seq rdr))]
(ループの反復ごとに2行を取得する他の方法を知りたいと思いますが、それは私の質問のポイントではありません)。
ループを機能させようとすると(これらのテストに単純なバインディングを使用して)、説明できない次の動作が見られます。
どして
(with-open [rdr (reader "path/to/file")]
(for [line (line-seq rdr)]
line))
ストリームクローズ例外をトリガーする
その間
(with-open [rdr (reader "path/to/file")]
(doseq [line (line-seq rdr)]
(println line)))
動作しますか?