Answers:
我发现until
睡眠非常有用。例:
> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true
sleep(10.seconds)
until
在达到任何条件之前就可以睡觉(也喜欢语法的自然感觉)
sleep 6
会睡6秒钟。对于更长的时间,您也可以使用sleep(6.minutes)
或sleep(6.hours)
。
minutes()
和hours()
上on Rails的Ruby的通过添加NUMERICS方法-所以不提供标准Ruby中-中的ActiveSupport :: Duration类。他们很方便。
实现秒/分钟/小时,这是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
之后,您可以执行以下操作:
sleep 5.seconds
睡眠5秒钟。您可以sleep 5.minutes
睡5分钟。您可以sleep 5.hours
睡5个小时。最后,您可以sleep 5.days
睡5天...您可以添加任何返回self *(在该时间范围内的秒数)值的方法。作为练习,请尝试实施几个月!