2016-03-20 18 views
2
  • Kotlin 1.0.0
  • 私は(もはやstreamと呼ばれる)のシーケンスを作成するために使用される新しいsequence関数への参照のカップルを発見したIDEA 2016.1

The JetBrains blogは、次の例を示します:Kotlinシーケンス機能未解決の参照

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パッケージがダウンロードされました。だから私は間違ったことをする必要があります。

答えて

6

この関数の名前はsequenceでしたが、名前はgenerateSequenceから1.0.0に変更されました。 Iterable<T>.sequenceも同様Iterable<T>.asSequenceに名前が変更されました:

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

ありがとうございました。それがそれを解決しました。 – melston