some.scala
的切入点定义如下:
object MyApp extends App {
println("Hello, World!")
}
如果我跑
$ scala some.scala
Scala安静地退出,然后通过
编译$ scalac some.scala
...
MyApp.class
MyApp$delayedInit$body.class
...
如果我再运行
$ scala MyApp
它有效。
上面的delayedInit
类是否阻止案例1运行?
答案 0 :(得分:1)
来自scala
手册页:
如果-howtorun:保留为默认值(guess),则为scala命令 将检查是否存在指定名称的文件。如果是的话, 那么它会将其视为脚本文件......
因此,在您的情况下,scala
正在处理some.scala
作为脚本文件,与在REPL中键入它没有多大区别。它将定义对象MyApp
但不会执行它。尝试在some.scala
中添加一行:
println("Hello, World!")
并将其作为scala some.scala