有没有办法实现类似这样的东西
while time left
do something
其中时间是一些变量设置为球拍中的x秒/分钟/小时?
我可以使用some-constant来模拟时间,如
(define (loop time)
(if (< time some-constant)
((do something)
(loop (- time 1)))
do-nothing))
但是我必须尝试看看常数会给我一个小时等等。
答案 0 :(得分:3)
尝试以下方法:
(define (loop term-time)
(when (<= (current-seconds) term-time)
(begin <do something>
(loop term-time))))
然后你可以用
调用它(loop (+ (current-seconds) (* 60 60))) -- do it for one hour
如果您只想定期<do something>
,但不希望以100%的CPU使用率执行,<do something>
,您可以包含(sleep <secs>)
来实现此目的。