Return Value 戻り値
A sequence of pairs enumerating the sequence. このシーケンスを列挙している、ペアからなるあるシーケンス。
Availability 有効性
Technology
func enumerated() -> EnumeratedSequence
<Self>
A sequence of pairs enumerating the sequence. このシーケンスを列挙している、ペアからなるあるシーケンス。
This example enumerates the characters of the string “Swift” and prints each character along with its place in the string. この例は文字列「Swift」の文字を列挙します、そして各文字をその文字列でのそれの場所とともに出力します。
for (n, c) in "Swift".enumerated() {
print("\(n): '\(c)'")
}
// Prints "0: 'S'"
// Prints "1: 'w'"
// Prints "2: 'i'"
// Prints "3: 'f'"
// Prints "4: 't'"
When you enumerate a collection, the integer part of each pair is a counter for the enumeration, but is not necessarily the index of the paired value. These counters can be used as indices only in instances of zero-based, integer-indexed collections, such as Array
and Contiguous
. For other collections the counters may be out of range or of the wrong type to use as an index. To iterate over the elements of a collection with its indices, use the zip(_:
function.
あなたがあるコレクションを列挙するとき、各ペアの整数部分は列挙のためのカウンタです、しかし必ずしもペアにされた値のインデックスではありません。これらのカウンタはインデックスとして使われることが、ゼロ基盤の、整数インデックスでのコレクション、例えばArray
そしてContiguous
などのインスタンスにおいてのみ可能です。他のコレクションに対してこれらのカウンタは、インデックスとして使うのには範囲外または間違った型になるでしょう。あるコレクションの要素すべてにわたってそれのインデックスで反復するには、zip(_:
関数を使ってください。
This example iterates over the indices and elements of a set, building a list consisting of indices of names with five or fewer letters. この例は、ある集合のインデックスと要素のすべてにわたって反復します、5つまたはより少ない文字を持つ名前のインデックスから成るリストを作ります。
let names: Set = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
var shorterIndices: [Set<String>.Index] = []
for (i, name) in zip(names.indices, names) {
if name.count <= 5 {
shorterIndices.append(i)
}
}
Now that the shorter
array holds the indices of the shorter names in the names
set, you can use those indices to access elements in the set.
現在、shorter
配列はnames
集合の中の短い名前のインデックスを保持します、あなたはそれらのインデックスを使って集合の中の要素にアクセスできます。
for i in shorterIndices {
print(names[i])
}
// Prints "Sofia"
// Prints "Mateo"
Complexity
O(1)