scalaを試す 1日目
今度勉強会に参加することになったので予習も含めてお勉強してみる。
インストール編
どうやらMacPortsからのインストールが楽そうだ。*1
といっても私のMacBookには入っていないのでこの機会にインストールしてみよう。
ここを参考にやってみる。
インストール完了。
さっそくscalaのインストール
$ sudo port install scala
-
-
- > Fetching scala
- > Attempting to fetch scala-2.7.0-final.tar.bz2 from http://www.scala-lang.org/downloads/distrib/files/
- > Verifying checksum(s) for scala
- > Extracting scala
- > Configuring scala
- > Building scala with target all
- > Staging scala into destroot
- > Installing scala 2.7.0_0
- > Activating scala 2.7.0_0
- > Cleaning scala
-
インストール出来たか確認する。
$ scala -version Scala code runner version 2.7.0-final -- (c) 2002-2008 LAMP/EPFL
完了!!!
とりあえず触ってみる
を参考にいじってみる。$ scala Welcome to Scala version 2.7.0-final (Java HotSpot(TM) Client VM, Java 1.5.0_13). Type in expressions to have them evaluated. Type :help for more information. scala> val msg = "Hello Scala!" msg: java.lang.String = Hello Scala! scala> msg size res0: Int = 12 scala> ( 1 to res2 ) foreach print:5: error: not found: value res2 ( 1 to res2 ) foreach print ^ scala> ( 1 to res0 ) foreach print 123456789101112 scala> msg = "Bye Scala!" :7: error: assignment to immutable value msg = "Bye Scala!" ^ scala> var msg = "Bye Scala!" msg: java.lang.String = Bye Scala! scala> msg = "Hello!" msg: java.lang.String = Hello! scala> msg.foreach( println ) H e l l o ! scala> msg(0) res6: Char = H scala> for ( c <- 'a' to 'z' ) | print( c ) abcdefghijklmnopqrstuvwxyz scala> :quit
ふむ。コマンド実行ごとにres?が出てくるのね。なるほど。
文法など
型
変数名:型名 = 値
で記述する。ただし型推論できる場合は省略できる。
こんなかんじ
cala> var int1:Int = 1 int1: Int = 1 scala> var int2 = 1 int2: Int = 1
ファイルから実行する
以下の内容をテキストファイルで記述する。
Hello.scala
object Hello {
def main(args: Array[String]): Unit = {
System.out.println("Hello, Scala!")
}
}
んでコンパイルして実行する。
$ scalac Hello.scala $ scala Hello Hello, Scala!
参考URL
http://www.scala-lang.org/index.html - 本家
http://homepage.mac.com/takashi_miyamoto/scala/ScalaTutorial.pdf - 日本語チュートリアル
http://www.scala-lang.org/docu/files/ScalaByExample.pdf - Scala By Example(英語)
http://scala.sygneca.com/code/start - Scala Wiki