Menu
Coddy logo textTech

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 が実行され、ループは直ちに停止します。6 から 10 までの数値が処理されることはありません。

breakキーワードは、あらゆる種類のループで機能します。whileループを使った例を次に示します。

count = 0
while true
  count += 1
  if count > 3
    break
  end
  puts count
end

これは 1、2、3 を出力します。条件は true ですが(通常なら無限ループになります)、count が 3 を超えると break がループを停止します。

challenge icon

チャレンジ

簡単

入力から2つの整数を読み取ります。

  1. 1から始まる範囲の上限を表す limit
  2. 検索する target の数値

1 から limit までの数値をループします。各数値をそれぞれ別の行に出力します。target に到達したら、その数値の代わりに Found! を出力し、break を使って直ちにループを停止します。

target が範囲内にある場合、ループは早期に停止します。target が limit より大きい場合は、1 から limit までのすべての数値が出力されます。

たとえば、入力が 104 の場合、出力は次のようになります。

1
2
3
Found!

入力が 58 の場合、出力は次のようになります。

1
2
3
4
5

自分で試してみよう

# 入力を読み取る
limit = gets.to_i
target = gets.to_i

# TODO: 以下にコードを書いてください
# 1からlimitまでの数字をループする
# 各数字をそれぞれの行に出力する
# targetに達したら、指示にある正確なテキストを出力してループを抜ける
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ