break, return, nextまとめ
break, return, nextまとめ
たまにこの辺りの使い分けややこしくなるのでまとめます。
break
breakを使うと、繰り返し処理を抜けることができます。
def block_break puts '----' (1..5).each do |i| break if i % 3 == 0 puts i end puts 'end' end
1 2 end
return
returnを使うと、メソッドを抜けることができます。
def block_return puts '----' (1..5).each do |i| return if i % 3 == 0 puts i end puts 'end' end
1 2
next
nextを利用すると、ループは抜けずに次の処理にスキップする
def block_next puts '----' (1..5).each do |i| next if i % 3 == 0 puts i end puts 'end' end
1 2 4 5 end
繰り返し処理で使うbreakとreturnの違い
breakを使うと「繰り返し処理からの脱出」になりますが、returnの場合は「(繰り返し処理のみならず)メソッドからの脱出」になります。 たまにこれがごっちゃになりバグに繋がる時があるので気をつけましょう。
break, return, next違いまとめ
next: 以降は実行せず、次のループを開始
break: ループを抜ける。
return: メソッドを抜ける