2.5 把Scala代码当作脚本运行

当你开始用Scala写脚本以后,你会发现执行Scala文件就跟执行shell脚本一样简单。

2.5.1 在类UNIX系统上作为脚本运行

在类Unix系统上,你可以设置一个shell前导词(preamble)来执行脚本。如下例:

GettingStarted/Script.scala

  1. #!/usr/bin/env scala
  2. !#
  3. println("Hello " + args(0))

先输入chmod +x Script.scala,确保你对Script.scala文件有执行权限。然后执行此文件,在命令行上输入./Script.scala Buddy——Buddy是传给脚本的参数。

输出如下:

  1. Hello Buddy

2.5.2 在Windows上作为脚本运行

你可以配置Windows,让它在运行.scala文件的时候调用Scala。打开资源浏览器,双击一个带.scala扩展名的Scala脚本文件。Windows会告诉你它打不开这个文件,并让你从已安装的程序列表里面选择一个程序去打开它。找到Scala安装的位置,选择scala.bat。现在就可以在资源浏览器里面通过双击文件来执行程序了。在命令行里面运行也行,现在就不用带命令前缀.scala了。如果在资源浏览器里面双击程序,你会发现有一个窗口先是弹出来,然后显示执行结果,接着很快就关掉了。想让窗口保持打开状态的话,可以把文件指向一个.bat文件,让这个.bat文件运行完Scala之后暂停。右键单击某个Scala程序,选择“Open With…”,找到该bat文件。

下面是.bat文件的一个例子:

GettingStarted/RunScala.bat

  1. echo off
  2. cls
  3. call scala %1
  4. pause

当你双击Helloworld.scala以后,上面那个.bat文件会自动执行,得到下面的结果:

2.5 把Scala代码当作脚本运行 - 图1