我有一个基本的Clojure脚本,其中包含:
(def test
(future
(loop []
(println "Running")
(recur))))
但是,如果我用以下文件执行文件:
java -cp clojure-1.3.0.jar clojure.main test.clj
然后屏幕显示“正在运行”。如何更改它以便将来在我需要时运行?
注意:我意识到这将永远运行,这只是我问题的一个例子。
答案 0 :(得分:10)
未立即运行的未来只是一个没有参数的函数。
所以:
(defn test []
(println "Running")
(recur))
... ...后来
(future (test))