Scala の各種起動方法

今更ながらScalaの起動方法まとめ。

Scala インタープリタ

ちょいと試すにはインタープリタ。

>scala
Welcome to Scala version 2.8.0.RC2 (Java HotSpot(TM) Client VM, Java 1.6.0_12).
Type in expressions to have them evaluated.
Type :help for more information.

scala> val str = "scala"
str: java.lang.String = scala

scala> def rev(str:String) = str.reverse
rev: (str: String)String

scala> rev(str)
res1: String = alacs

コンパイルして実行

Hello.scala として以下のファイル作成。

object Hello {
  def hello(str:String) { println("Hello " + str) }
  def main(args:Array[String]) {
    args.foreach(hello)
  }
}

scalac にてコンパイル & 実行

> scalac Hello.scala
> scala Hello World Scala
Hello World
Hello Scala

クラスファイルをjavaから実行するには、scala-library.jar のクラスパスを通す。

java -classpath /scala/・・/lib/scala-library.jar:. Hello

Scala スクリプト

Hello.scala として以下を作成

def hello(str:String) { println("Hello " + str) }
args.foreach(hello)

scala コマンドで実行

> scala Hello.scala World Scala
Hello World
Hello Scala

シェルスクリプトとして実行

Linuxなどの場合、シバンをつけて

#!/usr/bin/env scala
!#
println("Hello " + args(0))

もちろん実行権限つけて普通にシェルとして実行

バッチファイルとして実行

Windowsの場合、hello.bat として

::#!
@echo off
call scala %0 %*
pause
goto :eof
::!#

println("Hello World")

バッチファイルダブルクリックか コマンドラインから実行。

「.scala」ファイルを関連付け

Windows にて .scalaファイルを以下の RunScala.bat バッチファイルに関連付ければ、.scala ファイルのダブルクリックで実行できる。

echo off
cls
call scala %1
pause