Statements "break", "next", "redo"
В Ruby операторы break, next и redo используются для изменения хода цикла:
break полностью выходит из цикла. Обычно break используется, когда определенное условие делает продолжение цикла ненужным.
for i in 1..5
if i == 3
break
end
puts i
end
# 1
# 2
next пропускает текущую итерацию и переходит к следующей. Оператор next полезен, когда необходимо пропустить определенные значения. Например, пропуск недопустимого ввода, нечетных чисел или определенных символов в строке.
for i in 1..5
if i == 3
next
end
puts i
end
# 1
# 2
# 4
# 5
redo используется для повтора текущей итерации цикла.
restart = false
5.times do |i|
if i == 2
unless restart
puts "Re-doing when i = 2"
restart = true
redo
end
end
puts i
end
# 0
# 1
# Re-doing when i = 2
# 2
# 3
# 4