Я пишу свою первую программу clojure и хочу прочитать строки из stdin.
Когда я пытаюсь это сделать:
(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*
в последовательность, которую я могу перебрать? Я бы подумал, что это достаточно распространено, что сам *in*
будет итеративным, но это тоже не работает - если я пытаюсь использовать его напрямую, я получаю:
java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.LineNumberingPushbackReader (NO_SOURCE_FILE:0)
Кроме того, есть ли примеры выполнения общей обработки файлов в clojure?