コンテンツにスキップ

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" と表示する