当我尝试在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))
}
}
答案 0 :(得分:1)
看起来eclipse / Scala IDE很难找到合适的对象,因为它有一个同名的特征。
例如,您可以将main方法移动到专用对象中:
object Main {
def main(args:Array[String]) = {
println(List(1,4))
}
}
答案 1 :(得分:0)
它不显示"以Scala应用程序运行"如果.scala
文件本身位于错误的命名目录中,则必须将其命名为与包名称的最后一部分相同(例如week4
,在我们的例子中)。