先日参加した飲み会で、リスパーの方から「ScalaいいよScala」と強いご推薦をいただいたので、遅ればせながら私もScalaを使ってみることにしました。本も買ってきた! 買ってきた、っていうか、amazonですけど。
とりあえずScalaをインストールします。Scalaのサイトからもダウンロードできますが、ここはひとつみんなだいすきMacPortsで。ちなみに作業時の私の環境はMac OS X 10.7.1で MacPortsは2.0.1です。次のようにしてインストールします。
$ sudo port install scala29
簡単でいいよねー。インストールできたら早速使ってみたいんですが、その前に
$ sudo scala_select scala29
これをやっておくとscala-2.9じゃなくてscalaでscala29が使えます。scala_selectはscalaを入れると一緒に入るはず。まあ、自分でシンボリックリンクを張ってもいいと思います。
インストールできたので、バージョンの確認。
$ scala -version Scala code runner version 2.9.0.1 -- Copyright 2002-2011, LAMP/EPFL $ scalac -version Scala compiler version 2.9.0.1 -- Copyright 2002-2011, LAMP/EPFL
では Scala coe runnerの方を起動。対話環境みたいになりますので、なんか入れてみます。
$ scala Welcome to Scala version 2.9.0.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26). Type in expressions to have them evaluated. Type :help for more information. scala> 1+2*3 res0: Int = 7
おー 🙂 ちなみにこの例題は参考文献[2]の最初の例です。もうひとつ、今度は関数を定義してみます。
scala> def square(x:Int):Int ={ x*x } square: (x: Int)Int scala> square(3) res1: Int = 9
おー ^^; コンパイラの方も試してみます。
$ cat Square.scala object Square { def main(arg:Array[String]) = { var input = arg(0).toInt printf("%d!n", square(input)) } def square(x:Int):Int = { x*x } } $ scalac Square.scala $ scala Square 6 36!
おお ^^; ということで、しばらく遊べそうです 🙂
参考文献
- “The Scala Programming Language”, http://www.scala-lang.org/
- Jeffrey D. Ullman, “Elements of ML Programming, ML97 Edition (2nd Edition)”, Prentice Hall, 1997.