2014-05-23 28 views
0

我想每秒调用一次函数。clojure:我如何使用while/loop with sleep

我有以下代码:

(defn dostuff [] 
    (do 
    (print "I'm doing stuff") 
    ...)) 

(while true 
    (Thread/sleep 1000) 
    (dostuff)) 

我希望它可以打印出“我做的东西,”每一秒,但事实并非如此。

我该如何做到这一点?

+1

要调用打印代替的println。它不会自动刷新。 –

回答

1

你不会冲洗标准输出。您可以使用的println,这是printnewline(力自动冲洗),或明确调用flush这样的:

(defn dostuff [] 
    (do 
    ... 
    (print "I'm doing stuff") 
    (flush)))