Scala の基礎
とりあえず3章くらいまで.
記号に見えるメソッドがスゴいと思う.
- var / val があるよ
- val は final
- def で関数定義
- def max(x: Int, y: Int): Int = if (x > y) x else y
- :quit でインタプリタから抜ける
- List
- ::: - append
- :: - cons
- List() or Nil - '() or (list)
- List(要素) - list
- () - 配列っぽくアクセスできる.
- foreach(s => ...) - ってブロックを書く
- Tuple
- _1, _2 のようにアクセスできる
- Map
- +, -> が使える
List.foreach とか
val l = List(1, 2, 3, 4, 5) l.filter(s => s > 3).foreach(s => println(s))
Map とか
improt scala.collection.mutable.Map val tm = Map[Int, String]() tm += (1 -> "one") tm += (4 -> "four") println(tm(4))
態度としての優先順位
- val,イミュータブル,副作用のないメソッド
- var,ミュータブル,副作用のあるメソッド
JavaScripter とかだと,つい var って書いてしまいそうだけど,
できるだけ val だねっ.
2009/10/07 16:56 追記
- while を使わない方法を探そう(while は値を返さないので,var の臭いがする)