W3cubDocs

/Kotlin

yieldAll

abstract suspend fun yieldAll(iterator: Iterator<T>)

Yields all values from the iterator to the Iterator being built.

The sequence of values returned by the given iterator can be potentially infinite.

import kotlin.test.*
import kotlin.coroutines.experimental.buildIterator
import kotlin.coroutines.experimental.buildSequence

fun main(args: Array<String>) {
//sampleStart
val sequence = buildSequence {
    val start = 0
    // yielding a single value
    yield(start)
    // yielding an iterable
    yieldAll(1..5 step 2)
    // yielding an infinite sequence
    yieldAll(generateSequence(8) { it * 3 })
}

println(sequence.take(7).toList()) // [0, 1, 3, 5, 8, 24, 72]
//sampleEnd
}
suspend fun yieldAll(elements: Iterable<T>)

Yields a collections of values to the Iterator being built.

import kotlin.test.*
import kotlin.coroutines.experimental.buildIterator
import kotlin.coroutines.experimental.buildSequence

fun main(args: Array<String>) {
//sampleStart
val sequence = buildSequence {
    val start = 0
    // yielding a single value
    yield(start)
    // yielding an iterable
    yieldAll(1..5 step 2)
    // yielding an infinite sequence
    yieldAll(generateSequence(8) { it * 3 })
}

println(sequence.take(7).toList()) // [0, 1, 3, 5, 8, 24, 72]
//sampleEnd
}
suspend fun yieldAll(sequence: Sequence<T>)

Yields potentially infinite sequence of values to the Iterator being built.

The sequence can be potentially infinite.

import kotlin.test.*
import kotlin.coroutines.experimental.buildIterator
import kotlin.coroutines.experimental.buildSequence

fun main(args: Array<String>) {
//sampleStart
val sequence = buildSequence {
    val start = 0
    // yielding a single value
    yield(start)
    // yielding an iterable
    yieldAll(1..5 step 2)
    // yielding an infinite sequence
    yieldAll(generateSequence(8) { it * 3 })
}

println(sequence.take(7).toList()) // [0, 1, 3, 5, 8, 24, 72]
//sampleEnd
}

© 2010–2018 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines.experimental/-sequence-builder/yield-all.html