文書   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >   AnyIterator   >   init(_:)
汎用イニシャライザ
init(_:)
指定されたクロージャを next() メソッドで包み込む繰り返し因子を作成します。
宣言
init(_ body: @escaping () -> AnyIterator.Element?)
パラメータ
body | optional の要素を返すクロージャ。body は、結果の繰り返し因子に対して next() メソッドが呼び出されるたびに実行されます。 |
議論
次の例では、整数 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]