我需要在Clojure中执行一段代码,如下所示:
(map function coll)
但是,我需要延迟每次连续函数调用之间的时间间隔。也就是说,我想用第一项调用function
,然后睡10秒,然后用第二项调用,等等。
如何实现这一目标?
提前感谢您的帮助。
答案 0 :(得分:12)
为了完整起见,按照评论中的讨论,这就是使用doseq
的实现看起来像一个整洁的小函数:
(defn doseq-interval
[f coll interval]
(doseq [x coll]
(Thread/sleep interval)
(f x)))
以下是您的称呼方式:
(doseq-interval prn (range 10) 1000)