Initializer

init(_:)

Creates an iterator that wraps the given closure in its next() method. 与えられたクロージャをそれのnext()の中にラップするイテレータを作成します。

Declaration 宣言

init(_ body: @escaping () -> Element?)

Parameters パラメータ

body

A closure that returns an optional element. body is executed each time the next() method is called on the resulting iterator. あるクロージャ、それはあるオプショナルの要素を返します。bodyは、結果として生じるイテレータでnext()メソッドが呼び出されるたびに実行されます。

Discussion 解説

The following example creates an iterator that counts up from the initial value of an integer x to 15: 以下の例はあるイテレータを作成します、それは初期値の整数xから15まで数え上げます:


var x = 7
let iterator: AnyIterator<Int> = AnyIterator {
    defer { x += 1 }
    return x < 15 ? x : nil
}
let a = Array(iterator)
// a == [7, 8, 9, 10, 11, 12, 13, 14]