break文を使って繰り返し処理を抜ける

while 文や for 文などの繰り返し処理の中で break 文が実行されると繰り返しを抜けることができます。ここでは Ruby で break 文を使って繰り返し処理を抜ける手順について解説します。

(Last modified: )

break文の使い方

break 文が実行されると、最も内側の繰り返し処理を抜けます。ここで繰り返し処理とは次のいずれかです。

while文
until文
for文
イテレータ(each、times、upto、downto、step、loopなどのメソッド)

次の例では each メソッドを使った繰り返し処理の中で、繰り返し回数が 10 回を超えたら break 文を使って繰り返し処理を抜けています。

count = 1

("aa".."az").each{|str|
  puts(str);

  count += 1
  if count > 10 then
    break
  end
}

範囲オブジェクト "aa".."az" に対して each メソッドを使って順に要素を取り出し画面に表示しています。本来であれば "aa" から "az" まで 26 回繰り返しが行われますが、最大でも 10 回繰り返しを行ったら break 文によって繰り返しを抜けるようにしています。

なお繰り返しが入れ子になっている場合、 break が実行された一番内側の繰り返しを抜けます。

while ...
  ...
  for ...
    break
  end
  ...
end

上記の場合であれば break 文によって for 文を抜けますが while 文は抜けません。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

count = 1

puts("[start]")

("aa".."az").each{|str|
  puts(str);

  count += 1
  if count > 10 then
    puts("break")
    break
  end
}

puts("[end]")

下記のように実行して下さい。

break

-- --

Ruby で break 文を使って繰り返し処理を抜ける手順について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。