通过main方法运行代码

时间:2013-01-03 15:46:01

标签: scala

当我尝试在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))
      }
    }

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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