Kotlin 序列函数未解决的参考
Kotlin sequence function unresolved reference
- 科特林 1.0.0
- IDEA 2016.1
我找到了一些对用于创建序列(不再称为 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
版本开始,名称被更改为generateSequence
。 Iterable<T>.sequence
也已重命名为 Iterable<T>.asSequence
:
val elements = generateSequence(1) { x -> x + 1 }
val elements = listOf(1, 2, 3, 4).asSequence()
- 科特林 1.0.0
- IDEA 2016.1
我找到了一些对用于创建序列(不再称为 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
版本开始,名称被更改为generateSequence
。 Iterable<T>.sequence
也已重命名为 Iterable<T>.asSequence
:
val elements = generateSequence(1) { x -> x + 1 }
val elements = listOf(1, 2, 3, 4).asSequence()