How to read lines from stdin (*in*) in clojure

后端 未结 4 1979
情歌与酒
情歌与酒 2020-12-13 13:09

I am writing my first clojure program, and want to read lines from stdin.

When I try this:

(doall (map #(println %) (line-seq *in*)))
4条回答
  •  情书的邮戳
    2020-12-13 13:29

    Try wrapping *in* in a java.io.BufferedReader. And also use doseq instead of doall, as devstopfix pointed out:

    (doseq [ln (line-seq (java.io.BufferedReader. *in*))]
       (println ln))
    

    Note that line-seq is documented to require a BufferedReader as its source.

提交回复
热议问题