SequenceScope.yield
所在位置是kotlin.sequences.SequenceScope.yield
,其相关用法介绍如下。
用法:
为正在构建的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]
例子:
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
fun fibonacci() = sequence {
var terms = Pair(0, 1)
// this sequence is infinite
while (true) {
yield(terms.first)
terms = Pair(terms.second, terms.first + terms.second)
}
}
println(fibonacci().take(10).toList()) // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
//sampleEnd
}
输出:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
相关用法
- Kotlin SequenceScope.yieldAll用法及代码示例
- 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.yield。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。