我正在編寫我的第一個clojure程序,並且想要讀取stdin中的行。如何在clojure中讀取stdin(* in *)中的行
當我試試這個:
(doall (map #(println %) (line-seq *in*)))
我得到這個異常:
Exception in thread "main" java.lang.ClassCastException: clojure.lang.LineNumberingPushbackReader cannot be cast to java.io.BufferedReader (test.clj:0)
我得到了1.0版本相同的結果和1.1
那麼,如何轉換*in*
成我可以迭代seq?我本來以爲,這是很常見的是*in*
本身就是迭代,但是,這並不工作,要麼 - 如果我嘗試使用它直接獲取:
java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.LineNumberingPushbackReader (NO_SOURCE_FILE:0)
此外,是否有做普通文件的任何實例處理clojure?
更換(圖#(的println%)(線-SEQ ..))只是(地圖println(line-seq ..))可能會很好 – GabiMe