从顶部

时间:2018-05-21 20:08:22

标签: ruby

我有以下内容:

text_counter = 0
MAXTEXT_COUNTER = 10
puts "hello, this will start"
loop do
  puts "hello"
  text_counter += 1
  sleep(2)
  if text_counter >= MAXTEXT_COUNTER
    break
  end
end
sleep(7200)
print "ended test"

break发生后,如何让它从顶部重新开始?

我现在以为我可以将此循环嵌套在until循环中,条件为text_counter == 1000。这会破裂,然后再睡2个小时,然后重新开始直到达到1000个。

2 个答案:

答案 0 :(得分:0)

您正在寻找下一步

它的功能类似于break,但将控制权返回到循环的顶部。它非常适合创建平坦的控制流程。

例如

0.upto(100) do |i|
  if i % 7 == 0
    puts "#{i} is a multiple of 7"
    next
  end

  puts i
end

答案 1 :(得分:0)

有一个retry keyword从顶部重复循环,正如你所问的那样。

或者您可以将循环包装到方法中并不断调用该方法。