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 を使用して直ちにループを終了してください。

ターゲットが範囲内にある場合、ループは途中で終了する必要があります。ターゲットが制限(limit)より大きい場合は、1から制限までのすべての数値が出力されます。

例えば、入力が 104 の場合、出力は以下のようになります:

1
2
3
Found!

入力が 58 の場合、出力は以下のようになります:

1
2
3
4
5

チートシート

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キーワードは、whileループを含むあらゆる種類のループで使用できます。

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

これは 1, 2, 3 と出力して停止します。条件が true であっても同様です。

自分で試してみよう

# 入力を読み込む
limit = gets.to_i
target = gets.to_i

# TODO: 以下にコードを記述してください
# 1からlimitまでの数値をループで回す
# 各数値をそれぞれの行に出力する
# targetに到達したら、"Found!"と出力してループを抜ける
quiz icon腕試し

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

基礎のすべてのレッスン