Scala没有按预期运行

时间:2016-07-01 23:15:22

标签: scala

some.scala的切入点定义如下:

object MyApp extends App {
  println("Hello, World!")
} 
  1. 如果我跑

    $ scala some.scala
    

    Scala安静地退出,然后通过

    编译
    $ scalac some.scala
    ...
    MyApp.class
    MyApp$delayedInit$body.class
    ...
    
  2. 如果我再运行

    $ scala MyApp
    

    它有效。

  3. 上面的delayedInit类是否阻止案例1运行?

1 个答案:

答案 0 :(得分:1)

来自scala手册页:

  

如果-howtorun:保留为默认值(guess),则为scala命令   将检查是否存在指定名称的文件。如果是的话,   那么它会将其视为脚本文件......

因此,在您的情况下,scala正在处理some.scala作为脚本文件,与在REPL中键入它没有多大区别。它将定义对象MyApp但不会执行它。尝试在some.scala中添加一行:

println("Hello, World!")

并将其作为scala some.scala

运行