Whileループ
CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 40/88。
for ループは、何回繰り返すかが正確にわかっている場合に非常に便利です。しかし、特定の条件が変わるまでループを続けたい場合はどうでしょうか?そのようなときに while ループを使います。
whileループは、条件がtrueである限り実行を続けます。
count = 1
while count <= 3
puts count
count += 1
endこれは 1、2、3 を出力します。この loop は各反復の前に条件を確認します。count が 4 になると、条件 count <= 3 は false になり、loop は停止します。
for loop との主な違いは、loop 内の変数を変更することで、loop がいつ終了するかを自分で制御する点です。変数の更新を忘れると、loop は永遠に実行され続けます!カウントダウンの例を見てみましょう。
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"これは5から1までカウントダウンし、ループが終了した後に「Done!」と出力します。whileループは、必要な反復回数が事前にわからない場合に特に便利です。
チャレンジ
簡単入力から数値 n を読み取ります。while ループを使用して、n から 1 までのすべての数値を、それぞれ別の行に出力します。カウントダウンが終了したら、新しい行に Blastoff! を出力します。
入力は、カウントダウンの開始数を表す単一の整数です。
たとえば、入力が 5 の場合、出力は次のようになります。
5
4
3
2
1
Blastoff!自分で試してみよう
# 開始の数値を読み取る
n = gets.chomp.to_i
# TODO: 以下にコードを書いてください
# whileループを使ってnから1まで数字を出力する
# その後、指示にある正確なテキストを出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ