break を使うと、繰り返し処理を終了させることができます。
以下から Rubyでの「break」の使い方を解説していきます。
break の基本
「break」を使うと、繰り返し処理を途中で終了させることができます。
繰り返し処理の中で
break
と記述するだけで使えます。
break と組み合わせて使える繰り返しの構文例
break を使ったプログラム例
実際にプログラムを書いて動作を確認してみましょう。
繰り返し処理を終了させる
以下は、「actions」の変数に入っている配列の要素を順番に表示し、"stop"
が出るまで繰り返す例。
プログラム
actions = ["start", "start", "stop", "start"]
actions.each do |action|
p action
if action == "stop"
break
end
end
実行結果
"start"
"start"
"stop"
メモ
配列の使い方について詳しくはこちら。
each で配列の要素をひとつずつ取り出し、action == "stop"
の条件に一致したら、break
が実行されて繰り返し処理が終了します。
そのため、配列の最初の3つの要素である "start"
, "start"
, "stop"
は表示されますが、最後の要素である "start"
は表示されません。
多重の繰り返し処理を終了する
以下は2重の繰り返し処理を、break を使って抜ける例。
プログラム
loop do
p "外側のループスタート"
loop do
p "内側のループスタート"
break
end
p "内側のループを抜けた"
break
end
p "処理を終了"
実行結果
"外側のループスタート"
"内側のループスタート"
"内側のループを抜けた"
"処理を終了"
メモ
loop を使うと、永久に繰り返し処理を行うことができます。詳しくはこちら。
1つ目の break
では 内側のブロックのみを抜け、外側のブロックも抜けることはありません。そのため、p "内側のループを抜けた"
というコードが実行されます。
そのあとに2つ目の break が実行され、外側のブロックを抜けることで、p "処理を終了"
というコードが実行されます。
まとめ
以上、Rubyでの「break」の使い方でした!
ここまでの内容をまとめておきます。
- 「break」を使うと、繰り返し処理を途中で終了させることができる。
- break と組み合わせて使える繰り返しの構文には、each, while, until, for, times, upto, downto, loop がある。
- 多重の繰り返し処理のブロック内で break を使った場合は、そのブロックのみを抜ける。