说我想让用户输入一行一行的矩阵。 所以我首先要求矩阵的大小, 然后我想要求用户输入行像“第1行”“第2行”等。我怎样才能获得逐行clojure输入?
最微不足道的事情似乎要有一个可变的载体,并使用像doseq这样的somethinkg来改变它。
但我很好奇,如果有更多的clojure方式来做到这一点。 我最初的想法是使用for
或map
。但它很懒,所以无法打印出提示。
所以像(map (fn [i] (do (printf "row %d \n" i) (read-line))) (range size))
这样的东西也会在结果列表中包含提示。
然后,我以为我可以使用宏只是产生像
[((println "row i") (read-line))
((println "row i") (read-line))
((println "row i") (read-line)) ...]
是否有反正我可以做到这一点没有宏或可变的变量? 哪种方式更好?
我才意识到这个问题是我的REPL .. – LoveProgramming