我正在查看一个教程,发现于 http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-4
本教程来自jan。 2008年,我明白了,但如果这有所作为,我正在使用Scala 2.8.0。
class Color(val red:Int, val green:Int, val blue:Int)
case class Red(r:Int) extends Color(r, 0, 0)
case class Green(g:Int) extends Color(0, g, 0)
case class Blue(b:Int) extends Color(0, 0, b)
def printColor(c:Color) = c match {
case Red(v) => println("Red: " + v)
case Green(v) => println("Green: " + v)
case Blue(v) => println("Blue: " + v)
case col:Color => {
print("R: " + col.red + ", ")
print("G: " + col.green + ", ")
println("B: " + col.blue)
}
case null => println("Invalid color")
}
将其输入解释器时,会产生
线程“main”中的异常java.lang.IndexOutOfBoundsException 在scala.collection.LinearSeqOptimized $ class.apply(LinearSeqOptimized.scala:53) 在scala.collection.immutable.List.apply(List.scala:45)
加上另外185行跟踪,解释器退出。
此错误消息的含义是什么,任何人都可以告诉我上面的代码有什么问题?