break
繰り返し処理の中で「break」が実行されると繰り返しが終了します。ここで繰り返し処理とは次のいずれかです。
while文 until文 for文 イテレータ(each、times、upto、downto、step、loopなどのメソッド)
「break」は次のように使用します。
count = 1 ("aa".."az").each{|str| print(str + "¥n"); count += 1 if count > 10 then break end }
上記では範囲オブジェクト「"aa".."az"」に対して「each」メソッドを使って順に要素を取り出し画面に表示しています。本来であれば「aa」から「az」まで26回繰り返しが行われますが、別途繰り返した回数をカウントし、最大でも10回繰り返しを行ったら「break」によって繰り返しを抜けるようにしています。
「break」を使用することで、繰り返し処理の本来の終了条件とは別に繰り返しを終了させることが可能です。
なお繰り返しが入れ子になっている場合は「break」が実行された一番内側の繰り返しを抜けます。
while ... ... for ... break end ... end
上記の場合であれば「break」によって「for」文を抜けますが「while」文は抜けません。
サンプルプログラム
では簡単なプログラムで確認して見ます。
#! ruby -Ku count = 1 print("[start]¥n") ("aa".."az").each{|str| print(str + "¥n"); count += 1 if count > 10 then break end } print("[end]¥n")
上記のプログラムを「test9-1.rb」として保存します。文字コードはUTF-8です。そして下記のように実行して下さい。
( Written by Tatsuo Ikura )