【发布时间】:2016-04-06 01:11:06
【问题描述】:
我正在解决the 99 Scala problems,但是作者为二叉树表示定义的数据类型有问题:
sealed abstract class Tree[+T]
case class Node[+T](value: T, left: Tree[T], right: Tree[T]) extends Tree[T] {
override def toString = "T(" + value.toString + " " + left.toString + " " + right.toString + ")"
}
case object End extends Tree[Nothing] {
override def toString = "."
}
object Node {
def apply[T](value: T): Node[T] = Node(value, End, End)
}
我收到此错误:
scala> :load tree.scala
Loading tree.scala...
defined class Tree
defined class Node
defined object End
<console>:16: error: too many arguments for method apply: (value: T)Node[T] in object Node
def apply[T](value: T): Node[T] = Node(value, End, End)
但是坐在我旁边的朋友使用相同的操作系统 (ubuntu 14.04) 和相同版本的 Scala (2.11.8) 并没有出现这些错误,他的代码也一样,运行良好。
我对 Scala 很陌生,但这对我来说似乎很奇怪。
【问题讨论】: