說我想讓用戶輸入一行一行的矩陣。 所以我首先要求矩陣的大小, 然後我想要求用戶輸入行像「第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