我有以下功能:
def removeLast(list: List[Int]): List[Int] = list match {
case List() => List()
case List(x) => List()
case x :: xs => x :: removeLast(xs)
}
当我定义它并从sbt控制台使用它时,一切正常。但是,当我在Intellij IDEA中创建工作表并尝试运行它时,会出现以下异常:
java.lang.NoSuchMethodError:scala.collection.immutable。$ colon $ colon.hd $ 1()Ljava / lang / Object; 在week5.A $ A26 $ A $ A26.removeLast(lists.sc8362409100671270508.tmp:30)在#worksheet#。#worksheet#(lists.sc8362409100671270508.tmp:33)
另外,当我将最后一行更改为:
case x :: xs => 1 :: removeLast(xs)}
然后就可以了。
可能是什么问题?
我有这个问题。同意Andrzej的观点,想法使用其自己的编译器,因此您必须以某种方式禁用它。转到“设置”->“ Scala”->“工作表”,然后取消选中“在编译器进程中运行工作表”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句