本記事では、Rubyのループ処理において使えるbreakとnextについて解説します!
break文
Rubyでは、プログラム中のループの実行を中断するためにbreak文を使用します。
主にwhileループで使用され、条件が成立するまで値を出力し、その後break文がループを終了させます。
n = 1
while true
puts n * 5
n += 1
if n * 5 >= 30
break
end
end
# 5
# 10
# 15
# 20
# 25
上記の例では、n * 5 が30以上になると、breakが発動しループが終了します。
i = 0
while true do
puts i
i += 1
break if i > 3
end
# 0
# 1
# 2
# 3
上記は、iが3になるまでループを続けて、ループの回数を制限する使い方の例です。
next文
現在の反復処理の残りをスキップするには、next 文を使用します。
next文が実行されると、他の反復処理は行われません。next文は、他の言語におけるcontinue文と同様です。
for x in 0..5
if x == 2 then
next
end
puts x
end
# 0
# 1
# 3
# 4
# 5
上記の例では、xが2の時のみ next が発動され、その後のputs x をスキップし、2だけ出力されていません。
つまり、条件が成立しない限り、nextは発動しません。