yield在maven项目的buildSequence中抛出KotlinNullPointerException
我正在研究Kotlin中的yield在maven项目的buildSequence中抛出KotlinNullPointerException,kotlin,coroutine,Kotlin,Coroutine,我正在研究Kotlin中的coroutines,从下面的斐波那契序列开始: import kotlin.coroutines.experimental.buildSequence fun main(args: Array<String>) { val fibo = buildSequence { yield(0) var a = 0 var b = 1 while (true) {
coroutines
,从下面的斐波那契序列开始:
import kotlin.coroutines.experimental.buildSequence
fun main(args: Array<String>) {
val fibo = buildSequence {
yield(0)
var a = 0
var b = 1
while (true) {
yield(b)
b = a + b
a = b - a
}
}
fibo.take(5).forEach { println(it) }
}
import kotlin.coroutines.experimental.buildSequence
趣味主线(args:Array){
val fibo=buildSequence{
收益率(0)
变量a=0
var b=1
while(true){
收益率(b)
b=a+b
a=b-a
}
}
fibo.take(5).forEach{println(it)}
}
我使用的是IntelliJ IDEA,当上面的代码运行在由New project
->Kotlin
->Kotlin(JVM)
创建的项目中时,它工作正常
当代码在Maven的项目中运行时,它从archetypeorg.jetbrains.kotlin:kotlin archetype jvm
kotlin archetype jvm:1.1.2-4
创建,并抛出KotlinNullPointerException
线程“main”kotlin.KotlinNullPointerException中的异常位于
科特林。协同程序。实验。SequenceBuilder运算符。产量(SequenceBuilder.kt:163)
在com.github.fdudannychen.HelloKt$main$fibo$1.doResume(Hello.kt:7)
在
CoroutineImpl.resume(CoroutineImpl.kt:54)
在
kotlin.coroutines.experimental.SequenceBuilderErator.hasNext(SequenceBuilder.kt:128)
在kotlin.sequences.TakeSequence$iterator$1.hasNext(sequences.kt:348)
在com.github.fdudannychen.HelloKt.main(Hello.kt:22)
中的步骤无助于解决问题。我不知道为什么它不起作用。我遗漏了什么吗?中报告了该问题,并为Kotlin版本标记为“已修复”
1.1.2-5
可能是kotlinx.coroutines库的问题。您需要共享“pom.xml”和显示协同程序和IDE库的IDE项目编译器设置。还要检查IDE Kotlin插件版本和Kotlin库的版本是否一致并兼容。