SequenceScope.yieldAll
所在位置是kotlin.sequences.SequenceScope.yieldAll
,其相關用法介紹如下。
用法一
產生從 iterator
到正在構建的 Iterator 的所有值並掛起,直到所有這些值都被迭代並請求下一個值。
給定迭代器返回的值序列可能是無限的。
例子:
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val sequence = sequence {
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
}
輸出:
[0, 1, 3, 5, 8, 24, 72]
用法二
為正在構建的Iterator 生成一組值並掛起,直到所有這些值都被迭代並請求下一個值。
例子:
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val sequence = sequence {
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
}
輸出:
[0, 1, 3, 5, 8, 24, 72]
用法三
為正在構建的Iterator 產生潛在的無限序列值並暫停,直到所有這些值都被迭代並請求下一個值。
該序列可能是無限的。
例子:
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val sequence = sequence {
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
}
輸出:
[0, 1, 3, 5, 8, 24, 72]
相關用法
- Kotlin SequenceScope.yield用法及代碼示例
- Kotlin SequenceScope用法及代碼示例
- Kotlin Sequence.asStream用法及代碼示例
- Kotlin Short.inc用法及代碼示例
- Kotlin Stream.asSequence用法及代碼示例
- Kotlin Stream.toList用法及代碼示例
- Kotlin Short.dec用法及代碼示例
- Kotlin StringBuilder.clear用法及代碼示例
- Kotlin associateBy用法及代碼示例
- Kotlin all用法及代碼示例
- Kotlin map用法及代碼示例
- Kotlin filterNot用法及代碼示例
- Kotlin reduceRight用法及代碼示例
- Kotlin Random.Default用法及代碼示例
- Kotlin Byte.inc用法及代碼示例
- Kotlin getValue用法及代碼示例
- Kotlin Double.dec用法及代碼示例
- Kotlin windowedSequence用法及代碼示例
- Kotlin contentToString用法及代碼示例
- Kotlin groupByTo用法及代碼示例
- Kotlin commonPrefixWith用法及代碼示例
- Kotlin MatchResult.Destructured用法及代碼示例
- Kotlin Delegates.notNull用法及代碼示例
- Kotlin ifBlank用法及代碼示例
- Kotlin filterNotTo用法及代碼示例
注:本文由純淨天空篩選整理自kotlinlang.org大神的英文原創作品 kotlin.sequences.SequenceScope.yieldAll。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。