コレクションとしての範囲
範囲のシーケンスに対してmapやfilterを適用します。
「コレクションとしての範囲」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。
範囲はシーケンスである
範囲は単なる数値の区間ではなく、map や filter などのコレクションメソッドで変換できるシーケンスです。
let squares = (1...5).map { $0 * $0 }
print(squares)範囲をマッピングする
(1...n).map { ... } は各数値を新しい値に変換し、配列を生成します。範囲を囲む括弧に注意してください。
let doubled = (1...4).map { $0 * 2 }
print(doubled)括弧が必要な理由
メソッドを呼び出す前に範囲を括弧で囲む必要があります。そうしないと、Swift が構文を正しく解釈できません。(1...5).map が正しい書き方です。
let labels = (1...3).map { "Item \($0)" }
print(labels)範囲をフィルタリングする
filter は条件を満たす値だけを残し、一致した値の配列を返します。
let evens = (1...10).filter { $0 % 2 == 0 }
print(evens)範囲を reduce する
reduce はすべての値を1つにまとめます。ここでは 1 から 100 までの数値を合計しています。
let total = (1...100).reduce(0, +)
print(total)配列に変換する
範囲を Array(...) でラップすると、すべての値が格納された配列として具体化されます。
let nums = Array(1...5)
print(nums)
print(nums.count)範囲に対する forEach
forEach を呼び出すと、for ループと同じように、各値に対してクロージャを実行できます。
(1...3).forEach { n in
print("Tick \(n)")
}操作を連結する
各操作はコレクションを返すため、filter の後に map を続けるように操作を連結できます。
let result = (1...10).filter { $0 % 2 == 0 }.map { $0 * $0 }
print(result)検索用データを構築する
範囲のマッピングは、テストデータや検索テーブルをすばやく生成する方法です。
let table = (1...5).map { (n: $0, square: $0 * $0) }
for row in table {
print("\(row.n) -> \(row.square)")
}contains と集計
範囲は、contains、min、max などの集計用クエリにも対応しています。
let r = 5...15
print(r.contains(10))
print(r.min() ?? 0)
print(r.max() ?? 0)一致する値を数える
filter と count を組み合わせると、条件を満たす値の個数を数えられます。
let multiplesOf3 = (1...30).filter { $0 % 3 == 0 }.count
print(multiplesOf3)確認問題
コレクションとしての範囲を試してみましょう。
まとめ:コレクションとしての範囲
範囲はシーケンスなので、map、filter、reduce、forEach を呼び出せます(括弧が必要なことを忘れないでください)。値を具体化するには Array(range) を使用します。
print((1...5).map { $0 * $0 })AI チューターと学ぶ Swift — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 122
- レッスン
- 409
よくある質問
「コレクションとしての範囲」レッスンは無料ですか?
はい。「コレクションとしての範囲」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。
「コレクションとしての範囲」で何を学びますか?
範囲のシーケンスに対してmapやfilterを適用します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「コレクションとしての範囲」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 閉じた範囲と半開範囲
- 片側範囲
- stride(from:to:by:)によるカウント
- コレクションとしての範囲