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までカウントダウンし、ループが終了した後に "Done!" と出力します。while ループは、あらかじめ何回の反復が必要かわからない場合に特に便利です。

challenge icon

チャレンジ

簡単

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

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

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

5
4
3
2
1
Blastoff!

チートシート

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

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

ループは各反復の前に条件をチェックします。条件を最終的に偽(false)にするために、ループ内で変数を更新する必要があります。そうしないと、ループは永遠に実行されます。

カウントダウンの例:

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

何回の反復が必要か事前にはわからない場合や、条件が変わるまでループさせたい場合に while ループを使用します。

自分で試してみよう

# 開始する数値を読み込む
n = gets.chomp.to_i

# TODO: 以下にコードを記述してください
# whileループを使用して、nから1まで数値を表示します
# その後、"Blastoff!"と表示します
quiz icon腕試し

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

基礎のすべてのレッスン