在方案中测量时间
measuring time in scheme
有没有办法实现这样的东西
while time left
do something
racket 中某个变量设置为 x secs/minutes/hours 的时间在哪里?
我可以使用一些常数来模拟时间,如
(define (loop time)
(if (< time some-constant)
((do something)
(loop (- time 1)))
do-nothing))
但我必须尝试看看什么常量会给我一小时,等等。
尝试以下操作:
(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>)
实现这一目标。
有没有办法实现这样的东西
while time left
do something
racket 中某个变量设置为 x secs/minutes/hours 的时间在哪里?
我可以使用一些常数来模拟时间,如
(define (loop time)
(if (< time some-constant)
((do something)
(loop (- time 1)))
do-nothing))
但我必须尝试看看什么常量会给我一小时,等等。
尝试以下操作:
(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>)
实现这一目标。