Menu
Coddy logo textTech

Whileループ

CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 40/88。

for ループは、繰り返す回数が正確に分かっている場合に非常にうまく機能します。しかし、特定の条件が変わるまでループを続けたい場合はどうすればよいでしょうか?そこで while ループの登場です。

while ループは、その条件が真(true)である限り実行を続けます:

count = 1
while count <= 3
  puts count
  count += 1
end

これは 1、2、および 3 を出力します。ループは各反復の前に条件をチェックします。count が 4 になると、条件 count <= 3 は偽(false)となり、ループは停止します。

for ループとの主な違いは、ループ内の変数を変更することでループが終了するタイミングを自分で制御する点です。変数の更新を忘れると、ループは永遠に実行され続けます!以下はカウントダウンの例です:

num = 5
while num > 0
  puts num
  num -= 1
end
puts "Done!"

これは5から1までカウントダウンし、loopが終了した後に"Done!"と表示します。whileループは、事前に必要な反復回数が分からない場合に特に便利です。

challenge icon

チャレンジ

簡単

入力から数値 n を読み込みます。while ループを使用して、n から 1 までのすべての数字をそれぞれ改行して出力します。カウントダウンが完了したら、新しい行に Blastoff! と出力してください。

入力は、カウントダウンの開始数を表す単一の整数です。

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

5
4
3
2
1
Blastoff!

自分で試してみよう

# 開始番号を読み取る
n = gets.chomp.to_i

# TODO: 以下にコードを書いてください
# whileループを使ってnから1までの数字を出力する
# その後、指示にある正確なテキストを出力する
quiz icon腕試し

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

基礎のすべてのレッスン

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