Asynchronous Sequences
配列全体をasyncに取得することができるのは前回書いたが,各要素をasyncに取得することもできる.
import Foundation let handle = FileHandle.standardInput for try await line in handle.bytes.lines { print(line) }
そういえばXcode 13をダウンロードしてなかったのでしたけど解凍に時間がかかって飽きたので終わり.書いたことなかったのでSequence
に準拠するstructを書いてみた.
import Foundation struct SomeSequence: Sequence { func makeIterator() -> some IteratorProtocol { return SomeIterator() } } struct SomeIterator: IteratorProtocol { private var _limit = 5 mutating func next() -> Bool? { if _limit < 0 { return nil } else { _limit -= 1 return Bool.random() } } } for i in SomeSequence() { print(i) }