Kotlin:如何将序列(协程)作为可<T>迭代传递



我不明白如何通过需要一个值得山的coroutine。

假设我具有以下功能:

fun <T> iterate(iterable: Iterable<T>) {
    for (obj in iterable) {
        // do something..
    }
}

我想通过一个Coroutine:

iterate( ?? {
    for (obj in objects) {
        yield(transform(obj))
    }
})

我应该放置什么而不是??才能使用?我尝试了buildIteratorbuildSequence,但它们都没有工作。

您可以使用asIterable()

val seq = buildSequence {
    for (i in 1..5) {
        yield(i)
    }
}.asIterable()
iterate(seq)

最新更新