0Pricing
Swift Academy · レッスン

whileとrepeat-whileループ

条件に基づくループと、repeat-whileで少なくとも1回実行する方法を学びます。

「whileとrepeat-whileループ」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

ようこそ

反復回数があらかじめ分からない場合は、`while`ループと`repeat-while`ループが適しています。それぞれをいつ、どのように使うか見ていきましょう。

whileループ

`while`ループは、各反復処理の*前*に条件を評価します。 ```swift var count = 0 while count < 5 { print(count) count += 1 } // prints 0, 1, 2, 3, 4 ``` 最初から条件がfalseの場合、ボディは一度も実行されません。

repeat-whileループ

`repeat-while`ループは、各反復処理の*後*に条件を評価するため、少なくとも1回は実行されます。 ```swift var x = 10 repeat { print(x) x -= 3 } while x > 0 // prints 10, 7, 4, 1 ```

whileとrepeat-whileの比較

一度も実行する必要がない可能性がある場合は`while`を使用します。 少なくとも1回は実行する必要がある場合は`repeat-while`を使用します。 ```swift // Reading input until valid — must try at least once: repeat { input = readLine() ?? "" } while input.isEmpty ```

while trueによる無限ループ

`while true`ループは、`break`に到達するまで永久に実行されます。イベントループでよく使われるパターンです。 ```swift while true { let event = nextEvent() if event == .quit { break } handleEvent(event) } ``` 必ず、到達可能な終了条件があることを確認してください。

カウントダウンの例

```swift var countdown = 5 while countdown > 0 { print("\(countdown)...") countdown -= 1 } print("Liftoff!") ``` これはwhileループの典型的なパターンです。条件がfalseになるまで値を減らします。

無限ループを避ける

無限ループにつながるよくある間違いは次のとおりです。 ```swift var i = 0 while i < 5 { print(i) // forgot i += 1 ← infinite loop! } ``` ループ変数が更新され、条件が最終的にfalseになることを必ず確認してください。

Optional Bindingとwhile

`while`とOptional Bindingを組み合わせると、nilになるまでシーケンスを処理できます。 ```swift var items: [Int] = [1, 2, 3] while let value = items.first { print(value) items.removeFirst() } ``` このパターンは、コレクションを破壊的に消費するときにすっきりと記述できます。

ゲームループの例

```swift var lives = 3 var gameOver = false while !gameOver { let hit = Bool.random() if hit { lives -= 1 } if lives == 0 { gameOver = true } } print("Game Over") ``` 実際のゲームループでは、このパターンを使って終了条件に達するまで処理を続けます。

ネストしたwhileループ

whileループはネストできます。構文解析や行列アルゴリズムでよく使われます。 ```swift var row = 0 while row < 3 { var col = 0 while col < 3 { print("(\(row),\(col))", terminator: " ") col += 1 } print(); row += 1 } ```

確認問題

ボディが**少なくとも1回**実行されることを保証するループはどれですか?

まとめ

重要なポイント: • `while condition { }` — 各実行の前に条件を確認します。実行されない場合もあります • `repeat { } while condition` — 後から条件を確認するため、少なくとも1回は実行されます • `while true { ... break }` — イベントループのパターンです • ループ変数が必ず終了条件に近づくようにしてください • `while`とOptional Bindingを組み合わせると、シーケンスをすっきり消費できます 次は、for-inでコレクションを反復処理します。

よくある質問

「whileとrepeat-whileループ」レッスンは無料ですか?

はい。「whileとrepeat-whileループ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「whileとrepeat-whileループ」で何を学びますか?

条件に基づくループと、repeat-whileで少なくとも1回実行する方法を学びます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「whileとrepeat-whileループ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 範囲を使ったfor-inループ
  2. whileとrepeat-whileループ
  3. for-inでコレクションを反復処理する
  4. break、continue、ラベル付き文
← Swift Academyに戻る