我正试着每隔30秒关闭一次检查。我还没有找到一个清晰的方法来处理ruby。正在尝试类似的操作:
until counter == 30
sleep 1
if condition
do something
break
else
counter +=1
end
类似的问题是它必须使用sleep,这会使线程在其轨道上停留整整一秒钟。有没有另一种方法可以在不使用睡眠的情况下达到与上述类似的效果有没有办法在基于时间的间隔内进行循环?
最佳答案
你可以用这些线来近似你正在寻找的东西:
now = Time.now
counter = 1
loop do
if Time.now < now + counter
next
else
puts "counting another second ..."
end
counter += 1
break if counter > 30
end
关于ruby - 在一定时间间隔内或满足条件时执行循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15892738/