有什么区别
object Application extends App {
println("Hello World")
}
Run Code Online (Sandbox Code Playgroud)
和
object Application {
def main(args: Array[String]): Unit = {
println("Hello World");
}
}
Run Code Online (Sandbox Code Playgroud)
Emi*_*l H 62
App trait是创建可执行scala程序的便捷方式.主要方法的差异是(除了明显的句法差异)App特征使用延迟的初始化特征.
从2.9的发行说明(见http://www.scala-lang.org/old/node/9483)
继承App trait的对象使用Scala 2.9的延迟初始化功能来执行整个body作为继承的main方法的一部分.
App方案的另一个新功能是命令行参数现在可以通过args值访问(它继承自trait App)
小智 5
这两种情况在 scala 脚本上并不相同。
object extends App没有被“ ”命令执行,但是包含mainscala MyObject.scala方法的对象被“ ”命令执行。这被描述为 scala 寻找带有 main 脚本方法的对象。scala MyObject.scala
MyObject.main(Array[String]())当使用 Eclipse 的 REPL 或 scala Workset 时,两种情况都需要显式调用。
这个简单的技巧对像我这样的初学者很有帮助。
| 归档时间: |
|
| 查看次数: |
22947 次 |
| 最近记录: |