【Ruby入門】break の使い方(繰り返し処理を終了させる)

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 を使った場合は、そのブロックのみを抜ける。