Kotlin 序列函数未解决的参考

Kotlin sequence function unresolved reference

我找到了一些对用于创建序列(不再称为 stream)的新 sequence 函数的引用。 The JetBrains blog 给出了以下示例:

val elements = sequence(1, { x -> x + 1})
val elements = listOf(1, 2, 3, 4).sequence()

The AgileWombat blog给出了类似的例子。

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版本开始,名称被更改为generateSequenceIterable<T>.sequence 也已重命名为 Iterable<T>.asSequence

val elements = generateSequence(1) { x -> x + 1 }
val elements = listOf(1, 2, 3, 4).asSequence()