2017-03-02 82 views
1

在腳本仍在運行的情況下,如何將輸出打印到REPL中?我注意到它將所有內容都存儲到緩衝區,然後在完成代碼後打印。在腳本仍在運行到REPL時進行Clojure打印

(defn -main 
    [x] 
    (when (pos? x) 
    (println x) 
    (Thread/sleep 10000) 
    (recur (dec x)))) 
(-main 10) 
+4

我認爲你需要['flush'(https://clojuredocs.org/clojure.core/flush) 。 –

回答

0

Java(&因此Clojure)使用緩衝輸出。如果你想在緊密循環的中間打印,您需要flush

(println x) 
(flush) 
+0

感謝這是正確的,我以前使用過這個,但我試圖加載文件到REPL中,並沒有實時吐出輸出。 – Stixxxx