我正在编写我的第一个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