Repeat-While ループ
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 44/86。
repeat-whileループはwhileループに似ていますが、1つの大きな違いがあります。それは、コードブロックを実行する前ではなく、実行した後に条件をチェックすることです。これにより、ループの本体が少なくとも1回は実行されることが保証されます。
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// 出力: 1, 2, 3構造に注目してください。最初にrepeatキーワードがあり、その後にコードブロックが続き、最後にwhileの後に条件が記述されます。
最初から条件が偽(false)である場合、その違いが明確になります:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// 出力: This runs once!number < 5 が偽(false)であっても、メッセージは一度だけ表示されます。通常の while ループでは、何も表示されません。
継続するかどうかを確認する前にコードを少なくとも1回実行する必要がある場合(例えば、有効なデータが提供されるまでユーザーに入力を促す場合など)に、repeat-while を使用します。
チャレンジ
簡単入力から整数 n を読み取ります。repeat-while ループを使用して、1 から n までのすべての数値を、それぞれ新しい行に出力してください。
以下の入力を受け取ります:
- 文字列としての整数を含む 1 行(例:
"5")
入力を読み取り、それを Int に変換し、repeat-while ループを使用して 1 から始まる各数値を出力します。
要件:
- カウンターを
1から開始する - カウンターの値を出力する
- カウンターをインクリメント(増加)させる
- カウンターが
n以下である間、継続する
例えば、入力が 4 の場合、出力は以下のようになります:
1
2
3
4チートシート
repeat-whileループは、コードブロックを実行した後に条件をチェックするため、ループ本体が少なくとも1回は実行されることを保証します。
構文:
repeat {
// コードブロック
} while condition例:
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// 出力: 1, 2, 3whileループとの主な違い:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// 出力: This runs once!最初から条件が偽(false)であっても、コードブロックは1回実行されます。通常のwhileループの場合、このケースでは全く実行されません。
続行するかどうかをチェックする前に、コードを少なくとも1回実行する必要がある場合にrepeat-whileを使用します。
自分で試してみよう
// 入力を読み込み、Int型に変換する
let n = Int(readLine()!)!
// TODO: 以下にコードを記述してください
// カウンタを1から開始し、repeat-whileループを使用して1からnまでの数字を出力しますこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。