2013-03-04 10 views
5

エクリプス/反時計回りのスレッドを使用する場合REPLの代わりにコンソールに送信され他の部分はコンソールに表示されます(これは私がそれを使用しないので私が通常隠しているのでポップアップします)。出力はIが<a href="http://java.ociweb.com/mark/clojure/article.html">this</a>ガイドからこのコードを試み

すべての出力をREPLウィンドウに送信したいのですが、どのように達成できますか?

答えて

6

*out*は新しいスレッドでREPLライターにバインドされていないためです。手動でバインドすることができます。

(let [thread (let [out *out*] 
       (Thread. #(binding [*out* out] 
          (my-fn 1))))] 
    (.start thread) 
    (println "started thread") 
    (while (.isAlive thread) 
    (print ".") 
    (flush)) 
    (println "thread stopped")) 
関連する問題