コンテンツへスキップ

break

whileループから抜けるにはbreakを使用できます。

a = 2
while (a += 1) < 20
  if a == 10
    break # goes to 'puts a'
  end
end
puts a # => 10

breakは引数を取ることができ、その場合は引数が戻り値になります。

def foo
  loop do
    break "bar"
  end
end

puts foo # => "bar"

複数の入れ子になったwhileループ内でbreakを使用する場合、直近のループのみが抜けることに注意してください。

while true
  pp "start1"
  while true
    pp "start2"
    break
    pp "end2"
  end
  pp "end1"
  break
end

# Output:
# "start1"
# "start2"
# "end1"