文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   enumerated()


インスタンスメソッド


enumerated()


ペア (n、x) のシーケンスを返します。ここで n はゼロで始まる連続する整数を表し、x はシーケンスの要素を表します。





宣言


func enumerated() -> EnumeratedSequence<Range<Bound>>

BoundStrideable に準拠し、Bound.StrideSignedInteger に準拠する場合に使用可能です。


戻り値


シーケンスを列挙するペアのシーケンス。


議論


この例では、文字列 "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'"


コレクションを列挙するとき、各ペアの整数部分は列挙のカウンタですが、必ずしもペア値のインデックスではありません。これらのカウンタは、ArrayContiguousArray など、ゼロを基本とした整数インデックス型コレクションのインスタンスでのみインデックスとして使用できます。他のコレクションでは、カウンタが範囲外であるとか、間違った型のインデックスとして使用されている可能性があります。そのインデックスを持つコレクションの要素を反復処理するには、zip(_:_:) 関数を使用して下さい。


この例では、セットのインデックスと要素を反復処理し、5 文字以下の名前のインデックスで構成されるリストを作成します。


let names: Set = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
var shorterIndices: [SetIndex<String>] = []
for (i, name) in zip(names.indices, names) {
    if name.count <= 5 {
        shorterIndices.append(i)
    }
}


今や shorterIndices 配列には、names セット内の短い名前のインデックスが保持されているので、それらのインデックスを使用してセット内の要素にアクセスできます。


for i in shorterIndices {
    print(names[i])
}
// Prints "Sofia"
// Prints "Mateo"


以下も見よ





Range の要素を繰り返し処理





目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 10.0+
  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)