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

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