2011-12-16 69 views
4

創建Clojure的將來,我有一個包含基本Clojure的腳本:沒有它運行

(def test 
    (future 
     (loop [] 
      (println "Running") 
      (recur)))) 

但是,如果我execure文件用:

java -cp clojure-1.3.0.jar clojure.main test.clj 

這時屏幕上用「跑」罷了。我如何改變它,以便在我需要時運行未來?

注:我意識到這將永遠運行,這只是我的問題的一個例子。

回答

10

未立即運行的未來只是一個沒有參數的函數。

所以:

(defn test [] 
    (println "Running") 
    (recur)) 

......後來......

(future (test)) 
+0

好極了,謝謝你:DI還沒有意識到,你可以離開了(循環[] ...)如果該函數不需要參數。 – 2011-12-16 09:12:16