ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Swift の繰り返し構文一覧
Swift はモダンなループ構文を採用し、C 言語ライクな for (i=0;i<10;i++) 形式は Swift 3 で廃止されました。現代の Swift では for-in と while / repeat-while の 3 形態だけ覚えれば十分です。
1. for-in と範囲演算子
もっとも基本的な書き方です。範囲演算子と組み合わせて回数指定ループを作ります。
// 閉区間(1, 2, 3, ..., 10)
for i in 1...10 {
print(i)
}
// 半開区間(0, 1, 2, ..., 9)
for i in 0..<10 {
print(i)
}
// インデックスを使わないなら _ で受ける
for _ in 1...5 {
print("Hello")
}
2. 配列・辞書を回す
let array = ["aaa", "bbb", "ccc"]
// 値だけ
for v in array {
print(v)
}
// インデックス付きで回す(enumerated)
for (i, v) in array.enumerated() {
print("\(i): \(v)")
}
// 辞書はタプルで取れる
let dict = ["red": 1, "blue": 2, "green": 3]
for (key, value) in dict {
print("\(key) = \(value)")
}
3. 逆順・ステップ指定
// 逆順(10, 9, ..., 1)
for i in (1...10).reversed() {
print(i)
}
// 2 ずつ(0, 2, 4, 6, 8)
for i in stride(from: 0, to: 10, by: 2) {
print(i)
}
// 末端を含めたいときは through
for i in stride(from: 0, through: 10, by: 2) {
print(i) // 0, 2, 4, 6, 8, 10
}
// 浮動小数点も OK
for x in stride(from: 0.0, to: 1.0, by: 0.25) {
print(x) // 0.0, 0.25, 0.5, 0.75
}
4. while と repeat-while
回数が事前に決まらないときに使います。while は先頭判定、repeat-while(他言語の do-while 相当)は末尾判定なので必ず 1 回は実行されます。
// while(先頭判定)
var n = 0
while n < 5 {
print(n)
n += 1
}
// repeat-while(末尾判定 = 最低 1 回実行)
var m = 10
repeat {
print(m)
m -= 1
} while m > 0
5. break と continue
for i in 1...10 {
if i == 3 { continue } // 3 をスキップ
if i == 7 { break } // 7 で終了
print(i) // 1, 2, 4, 5, 6
}
多重ループからの脱出(ラベル付き break)
outer: for i in 1...3 {
for j in 1...3 {
if i == 2 && j == 2 {
break outer // 外側ループごと抜ける
}
print("\(i)-\(j)")
}
}
6. forEach と for-in の違い
関数型風に書きたいときは Sequence の forEach も使えますが、forEach の中では break / continue / return(外側関数からの早期 return)が使えません。離脱が必要なら for-in を選びます。
[1, 2, 3].forEach { print($0) } // OK
// [1, 2, 3].forEach { if $0 == 2 { break } } // ❌ コンパイルエラー
7. where 句で条件絞り込み
for-in に where を付けると、条件を満たす要素だけ処理できます。if + continue を書く代わりに 1 行で済みます。
for i in 1...10 where i.isMultiple(of: 2) {
print(i) // 2, 4, 6, 8, 10
}
サンプル: 配列の中身を表示
// 基本的な繰り返し文
for i in 1...10 {
print(i)
}
// 配列の中身を表示
var array = ["aaa", "bbb", "ccc"]
for val in array {
print(val)
}
出力結果
1
2
3
4
5
6
7
8
9
10
aaa
bbb
ccc
まとめ
| 構文 | 使いどころ |
|---|---|
for i in 1...n | 回数が決まっている繰り返し |
for v in array | コレクションの全要素処理 |
for (i, v) in array.enumerated() | インデックスも必要なとき |
stride(from:to:by:) | ステップ・小数・逆順を細かく制御 |
while | 条件が満たされる間続ける |
repeat-while | 最低 1 回は実行したい |
break / continue / ラベル | 途中離脱・スキップ・多重脱出 |
関連
- Swift — 親カテゴリ
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?