Menu
Coddy logo textTech

Untilループ

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

untilループはwhileループの反対です。条件が真(true)である間実行されるのではなく、条件が真(true)になるまで実行されます。「これが起こるまで続ける」と考えてください。

count = 1
until count > 3
  puts count
  count += 1
end

これは 1, 2, 3 を出力します。count > 3 が false である限り、ループは継続します。count が 4 になると、条件が true になり、ループが停止します。

これを同等の while ループと比較してください:

# これら2つのループは同じことを行います:
while count <= 3    # これが真(TRUE)の間実行されます
until count > 3     # これが真(TRUE)になるまで実行されます

untilループは、何かが起こるのを待っているときに、コードをより読みやすくすることができます。カウントダウンの例を次に示します:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

これは5から1までカウントダウンし、numが0になると「Liftoff!」と出力します。特に特定の条件が発生するのを待っている場合など、意図をより明確にしたいときはuntilを選択してください。

challenge icon

チャレンジ

簡単

入力から数値 n を読み取ります。until ループを使用して、1 から n までのすべての数値を、それぞれ新しい行に出力してください。n に達した後、新しい行に Done! と出力します。

ループは、カウンターが n を超えるまで継続する必要があります。

入力は、ターゲットとなる数値を表す単一の整数です。

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

1
2
3
4
Done!

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

1
2
3
4
5
6
Done!

チートシート

untilループは、条件が真(true)になるまで実行されます(whileの逆です):

count = 1
until count > 3
  puts count
  count += 1
end
# 出力: 1, 2, 3

whileループとの比較:

while count <= 3    # これが真(TRUE)の間実行
until count > 3     # これが真(TRUE)になるまで実行

カウントダウンの例:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

自分で試してみよう

# ターゲットとなる数値を読み込む
n = gets.to_i

# カウンタを初期化する
counter = 1

# TODO: 以下にコードを記述してください
# untilループを使用して1からnまでの数値を出力する
# ループはカウンタがnを超えるまで継続させる


# ループの後に "Done!" を出力する
puts "Done!"
quiz icon腕試し

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

基礎のすべてのレッスン