clojure:我如何使用while / loop with sleep

时间:2014-05-23 17:22:23

标签: clojure

我想每秒调用一个函数。

我有以下代码:

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

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

我希望这会每秒打印“我正在做的东西”,但事实并非如此。

我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

你不是在冲洗stdout。您可以使用println,printnewline(强制自动刷新),或者显式调用flush,如下所示:

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