Rubyのbreakとnextの使い方

プログラムがループ処理などを行なっているとき、途中である条件を満たしたときにそこから脱出したいことがあります。このようなときbreakを使います。 以下ではこのbreakの解説と、それに関係の深いnextを取り上げます。

breakの使用例

breakは、whileなどの繰り返し処理を止めて抜け出すために使います。 このプログラムは、ループの各回ごとに変数iが表示され加算されるシンプルな繰り返し文です。 iは0から始まり、5になったループでbreakします。

i = 0

while true
  puts i
  i += 1
  break if i == 5
end

nextでループのつぎの処理を行なう

nextは繰り返し処理において、次のループ処理をはじめるものです。言い換えると、ループをスキップするものです。 このプログラムは、配列の要素を1つずつ取り出し、表示するものです。3行目でもし x が 3 ならnextとし、次のデータを処理します。

a = [1, 2, 3, 4, 5]
a.each do |x|
  next if x == 3
  puts x
end
実行結果
1
2
4
5
ループから脱出するbreakとつぎのループ処理に戻るnextについて解説しました。もっと複雑な処理が必要なときは例外処理やraiseを使うこともあります。