这是我的scala代码:
object world
{
println("this is vaibhav")
}
我可以使用scalac编译它。
scalac object.scala
生成这两个文件:
world.class,world$.class
但是当我运行时:
scala world
它给出了以下信息:
java.lang.NoSuchMethodException: world.main([Ljava.lang.String;)
at java.lang.Class.getMethod(Class.java:1670)
at scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:74)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:101)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:33)
at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:40)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:56)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
答案 0 :(得分:2)
Scala的几种不同方式。一个使用对象的主体:
object HelloWorld extends App {
println("Hello World: " + (args mkString ", "))
}
请注意那里的extends App
。请参阅documentation。
另一个使用对象的main
字段:
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
答案 1 :(得分:1)
由于Java程序需要执行public static final main(String[] args) {}
方法,因此Scala需要在对象中使用def main(args: Array[String]) {}
。
答案 2 :(得分:0)