Menu
CoddyTech

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ですが(通常なら無限ループになります)、breakによってcountが3を超えるとループが停止します。

challenge icon

チャレンジ

簡単

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

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

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

targetが範囲内にある場合、ループは早めに終了します。targetが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 までの数値を順に処理する
# 各数値をそれぞれ別の行に出力する
# target に達したら、指示にあるテキストを正確に出力し、ループを抜ける
quiz icon腕試し

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

基礎のすべてのレッスン

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