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)である限り、loop は継続します。count が 4 になると、条件が真(true)になり、loop は停止します。

これを同等の while ループと比較してみましょう。

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

何かかが起こるのを待つような場合、until loop を使うことでコードの可読性を高めることができます。以下はカウントダウンの例です:

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!

自分で試してみよう

# 対象の数値を読み取る
n = gets.to_i

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

# TODO: 以下にコードを書いてください
# untilループを使って1からnまでの数字を出力する
# ループはcounterがnを超えるまで続ける


# ループの後に指示通りの正確なテキストを出力する
puts "Done!"
quiz icon腕試し

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

基礎のすべてのレッスン

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