Kotlin序列函数未解决的参考
- Kotlin 1.0.0
- IDEA 2016.1
我发现了一些用于创建序列的新sequence
函数(不再称为stream
)的引用。 JetBrains博客提供了以下示例:
val elements = sequence(1, { x -> x + 1}) val elements = listOf(1, 2, 3, 4).sequence()
AgileWombat博客给出了类似的例子。
val squares = sequence(1) {it + 1}.map {it * it}
但是,当我尝试使用这些示例时,无论是在REPL还是在IDE中(IDEA 2016.1),我都会得到以下结果:
>>> val squares = sequence(1) {it + 1}.map {it * it} error: unresolved reference: sequence val squares = sequence(1) {it + 1}.map {it * it} ^ error: unresolved reference: it val squares = sequence(1) {it + 1}.map {it * it} ^
我有最新的IDE插件和最新的kotlin软件包下载。 所以我一定在做错事。
这个函数用来命名sequence
但名称从1.0.0
版本开始改为generateSequence
。 Iterable<T>.sequence
也被重命名为Iterable<T>.asSequence
:
val elements = generateSequence(1) { x -> x + 1 } val elements = listOf(1, 2, 3, 4).asSequence()