next¶
whileのループでnextを使うと、次の繰り返しにジャンプすることができます。nextが実行されたあと、whileの条件がチェックされ、真となれば本体が再度実行されます。
a = 1
while a < 5
a += 1
if a == 3
next
end
puts a
end
# 上記を実行すると2、4、5と表示する
nextはブロックを終了するためにも利用できます。
def block
yield
end
block do
puts "hello"
next
puts "world"
end
# 上記を実行すると "hello" と表示する
break 同様、next は引数を受け取ることも可能で、その場合には yield の戻り値となります。
def block
puts yield
end
block do
next "hello"
end
# 上記を実行すると "hello" と表示する