在JavaScript中,您可以:
setInterval(func,delay);
Run Code Online (Sandbox Code Playgroud)
我似乎无法在谷歌上找到我正在寻找的东西.这有红宝石的等价物吗?提前致谢.
Thi*_*win 15
你可以做类似的事情:
Thread.new do
loop do
sleep delay
# your code here
end
end
Run Code Online (Sandbox Code Playgroud)
或者您可以定义一个函数:
# @return [Thread] return loop thread reference
def set_interval(delay)
Thread.new do
loop do
sleep delay
yield # call passed block
end
end
end
Run Code Online (Sandbox Code Playgroud)
当你想停止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
Run Code Online (Sandbox Code Playgroud)