2.4 命令行上的Scala

尽管shell和-e选项提供了很便捷的方式试验代码片断,但如果你想执行文件中Scala代码,那么就会用到scala命令。在没有提供参数的情况下,它会以交互模式运行;如果提供了文件名,它就会以批处理模式运行。代码文件可以是脚本,也可以是目标文件(目标文件是指编译器生成的.class文件)。默认情况下,你都可以让这个工具去测试你所提供的文件是哪种类型,也可以用-howtorun选项来告诉它,提供的到底是脚本文件,还是目标文件。最后一点,在给它传递Java属性的时候,可以用-Dproperty= value格式。

假设我们已经有了一个文件,叫做Helloworld.scala:

GettingStarted/HelloWorld.scala

  1. println("Hello World, Welcome to Scala")

我们可以用scala HelloWorld.scala这个命令来执行上面的脚本:

  1. > scala HelloWorld.scala
  2. Hello World, Welcome to Scala
  3. >

不管有什么样的参数需要传入,都可以附加在文件名后面。

把Scala代码写到文件里面当作脚本执行,这个功能是相当方便的。你可以写一些跟系统维护或者管理任务相关的代码,然后在命令行或者你喜欢的IDE里面运行,无须额外的编译工作。

Scala工具在内存里把脚本编译成字节码,然后执行。它把代码放到一个传统的main()方法中,这个方法归属于一个名叫Main的类。所以当你执行脚本的时候,实际上执行的是Main这个类中的main()方法。如果你想看生成的字节码,可以在文件名前面加上-savecompiled选项,Scala工具会把字节码存成一个JAR文件。