在转到下一行代码之前,你如何告诉Ruby程序等待任意时间?
#1楼
像这样使用睡眠 :
sleep 2
那会睡2秒钟。
小心提出一个论点。 如果你只是sleep
,这个过程将永远睡眠。 (当你希望线程在被唤醒之前休眠时,这很有用。)
#2楼
像这样:
sleep(num_secs)
num_secs
值可以是整数或浮点数。
此外,如果您在Rails应用程序中编写此代码,或者在项目中包含ActiveSupport库,则可以使用以下便捷语法构造更长的时间间隔:
sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
#3楼
sleep 6
会睡6秒。 持续时间较长,您也可以使用sleep(6.minutes)
或sleep(6.hours)
。
#4楼
我发现until
睡眠非常有用。 例:
> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3165703