如何告诉Ruby程序在继续下一行代码之前等待任意数量的时间?
当前回答
像这样
睡眠(no_of_seconds)
或者你可以传递其他可能的参数,比如:
睡眠(5.秒)
睡眠(5.分钟)
睡眠(5.小时)
睡眠(5.天)
其他回答
实现秒/分/小时,这是rails方法。注意,这里不需要隐式返回,但它们看起来更简洁,所以我更喜欢它们。我不确定Rails是否有。days,或者它是否有进一步的发展,但这些是我需要的。
class Integer
def seconds
return self
end
def minutes
return self * 60
end
def hours
return self * 3600
end
def days
return self * 86400
end
end
之后,你可以这样做: 睡眠5。秒睡5秒。你可以睡5分钟。睡5分钟。你可以做到睡5分钟。小时睡5个小时。最后,你可以睡5分钟。天要睡5天…您可以添加任何返回self *值(该时间框架中的秒数)的方法。 作为练习,试着执行它几个月!
像这样使用睡眠:
sleep 2
它会休眠2秒。
提出论点时要小心。如果只是运行sleep,进程将永远处于休眠状态。(当你想让线程休眠直到被唤醒时,这很有用。)
像这样
睡眠(no_of_seconds)
或者你可以传递其他可能的参数,比如:
睡眠(5.秒)
睡眠(5.分钟)
睡眠(5.小时)
睡眠(5.天)
Sleep 6会睡6秒。对于更长的时间,你也可以使用睡眠(6分钟)或睡眠(6小时)。
是这样的:
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
推荐文章
- Bash:无限睡眠(无限阻塞)
- 如何记录Ruby代码?
- Ruby:包含的反义词是什么?Ruby数组?
- 在Ruby中,proc和lambda有什么区别?
- 如何传递参数到一个Rake任务与环境在Rails?
- 获取当前正在执行的方法的名称
- 如何在Rails中计算相对时间?
- 在Ruby中使用范围填充数组的正确方法
- “for”和“each”在Ruby中
- 我如何复制一个哈希在Ruby?
- Ruby/Rails:将Date转换为UNIX时间戳
- 我如何编码/解码HTML实体在Ruby?
- Ruby有一个string. startwith ("abc")内置方法吗?
- 如何从URL下载文件并保存在Rails中?
- 从字符串中移除子字符串