Break
CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 41/88。
時として、ループが自然に終了する前に途中で脱出したい場合があります。break キーワードを使用すると、ループを即座に停止し、その後のコードの処理へ進むことができます。
特定の数字を探しているところを想像してみてください。それが見つかったら、残りの数字をチェックし続ける意味はありません。
for i in 1..10
if i == 5
puts "Found it!"
break
end
puts i
end
puts "Loop ended"これは 1、2、3、4、そして "Found it!"、最後に "Loop ended" を出力します。i が 5 に達すると、break が実行され、loop は直ちに停止します。6 から 10 までの numbers は処理されません。
break キーワードはあらゆる種類のループで動作します。以下は while ループの例です:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endこれは 1, 2, 3 を出力します。条件が true であっても(通常は無限ループになります)、count が 3 を超えると break によってループが停止します。
チャレンジ
簡単入力から2つの整数を読み込みます:
- 1から始まる範囲の上限を表す
limit - 検索対象となる
targetとなる数値
1 から limit までの数値をループ処理します。各数値を個別の行に出力します。target に達した場合は、数値の代わりに Found! を出力し、break を使用してすぐにループを停止します。
ターゲットが範囲内にある場合、ループは途中で停止します。ターゲットが limit より大きい場合は、1 から limit までのすべての数値が出力されます。
例えば、入力が 10 と 4 の場合、出力は次のようになります:
1
2
3
Found!入力が 5 と 8 の場合、出力は次のようになります:
1
2
3
4
5自分で試してみよう
# 入力を読み取る
limit = gets.to_i
target = gets.to_i
# TODO: 以下にコードを書いてください
# 1からlimitまでの数字をループする
# 各数字を1行ずつ出力する
# targetに達したら、指示にある正確なテキストを出力してループを抜けるこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ