0

当我尝试在 Eclipse 中运行以下代码时,“作为 Scala 应用程序运行”未显示。主要方法定义正确吗?

 package week4

    class Nil[T] extends List[T] {
      def isEmpty: Boolean = true
      def head: Nothing = throw new NoSuchElementException("Nil.head")
      def tail: Nothing = throw new NoSuchElementException("Nil.tail")
    }

    trait List[T] {
        def isEmpty: Boolean
        def head: T
        def tail: List[T]
    }

    class Cons[T](val head: T, val tail: List[T]) extends List[T]{
      def isEmpty = false
    }

    object List {
      def apply[T](x1: T, x2: T): List[T] = new Cons(x1, new Cons(x2, new Nil))
      def apply[T]() = new Nil

      def main(args:Array[String]) = {
          println(List(1,4))
      }
    }
4

2 回答 2

1

看起来 eclipse/Scala IDE 很难找到正确的对象,因为有一个同名的特征。

例如,您可以将 main 方法移动到专用对象中:

object Main {
  def main(args:Array[String]) = {
    println(List(1,4))
  }
}
于 2013-01-03T16:13:45.673 回答
0

如果文件本身位于错误命名的目录中,它不会显示“作为 Scala 应用程序运行” .scala- 它必须与包名称的最后一部分命名相同(例如week4,在我们的例子中)。

于 2013-01-03T16:17:45.787 回答