文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >  zip(_:_:)
汎用関数
zip(_:_:)
2 つの基本シーケンスから構築されたペアのシーケンスを作成します。
宣言
func zip<Sequence1, Sequence2>(_ sequence1: Sequence1, _ sequence2: Sequence2) -> Zip2Sequence<Sequence1, Sequence2> where Sequence1 : Sequence, Sequence2 : Sequence
パラメータ
sequence1 | zip への最初のシーケンスまたはコレクション。 |
sequence2 | zip への 2 番目のシーケンスまたはコレクション。 |
戻り値
タプルペアのシーケンスであり、ここで各ペアの要素は、sequence1 と sequence2 の対応する要素です。
議論
この関数によって返される Zip2Sequence インスタンスでは、i 番目のペアの要素は、各基本シーケンスの i 番目の要素です。以下の例では、zip(_:_ :) 関数を使用して、文字列の配列と有効範囲を同時に繰り返します。
let words = ["one", "two", "three", "four"]
let numbers = 1...4
for (word, number) in zip(words, numbers) {
print("\(word): \(number)")
}
// Prints "one: 1"
// Prints "two: 2
// Prints "three: 3"
// Prints "four: 4"
zip(_:_:) に渡された 2 つのシーケンスの長さが異なる場合、結果のシーケンスは短い方のシーケンスと同じ長さになります。この例では、結果の配列の長さは words と同じです。
let naturalNumbers = 1...Int.max
let zipped = Array(zip(words, naturalNumbers))
// zipped == [("one", 1), ("two", 2), ("three", 3), ("four", 4)]
関連
汎用の制約
Sequence1 : Sequence
Sequence2 : Sequence