Ruby next break returnの挙動の違いについて見てみる.
nextの挙動
以下のサンプルコードでの挙動のように
繰り返し処理の中でnextが呼ばれると,その時点で処理をスキップして次の繰り返し処理を実行します.
def next_method
('a'..'e').each do |i|
next if i == 'c'
puts i
end
puts '----end----'
end
next_method
#=>
a
b
d
e
----end----
breakの挙動
以下のサンプルコードでの挙動のように
繰り返し処理の中でbreakが呼ばれると,そこでループが終了してブロックから処理が抜けます.
※ただしこのあと説明するreturnとは違い,メソッドからは抜けません.
def break_method
('a'..'e').each do |i|
break if i == 'c'
puts i
end
puts '----end----'
end
break_method
#=>
a
b
----end----
returnの挙動
以下のサンプルコードでの挙動のように
returnが呼ばれるとメソッドそのものを抜けます.
その証拠に puts '----end----' 部分が呼ばれていません.
def return_method
('a'..'e').each do |i|
return if i == 'c'
puts i
end
puts '----end----'
end
return_method
#=>
a
b
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?