在JavaScript中,你可以这样做:
setInterval(func,delay);
我似乎无法在谷歌上找到我正在寻找的东西。 这有红宝石的等价物吗?提前致谢。
答案 0 :(得分:14)
你可以做类似的事情:
Thread.new do
loop do
sleep delay
# your code here
end
end
或者你可以定义一个函数:
# @return [Thread] return loop thread reference
def set_interval(delay)
Thread.new do
loop do
sleep delay
yield # call passed block
end
end
end
如果您想停止set_interval
,只需调用以下任何一种方法:exit
,stop
或kill
。
您可以将其测试到控制台(irb
或pry
):
t1 = Time.now; t = set_interval(2.5) {puts Time.now - t1}
> 2.500325
> 5.000641
> 7.500924
...
t.kill # stop the set_interval function
答案 1 :(得分:0)
我使用rufus-scheduler:
while