Scala、少しだけ勉強した.
しょっぱな、インストールでつまずいたw.
ポートが古かったみたい
の簡単な、やつを試した.irbぽっく対話的にも書けるんですね.sudo port selfupdate
sudo port install scala
http://www.scala-lang.org/docu/
ドキュメントは上記から.
http://www.scala-lang.org/docu/files/ScalaTutorial.pdf
を使って、Case classes and pattern matchingを写経.
数学っちくに簡潔に表記できるところが嬉しい点なのかな.
見ていて、はっとしたのは
http://www.scala-lang.org/docu/files/ScalaByExample.pdf
のA First Exampleでクイックソートを簡潔に表現していたところ.
def sort(xs: Array[Int]): Array[Int] = if (xs.length <= 1) xs else { val pivot = xs(xs.length / 2) Array.concat( sort(xs filter (pivot >)), xs filter (pivot ==), sort(xs filter (pivot <))) } val num = Array(3,1,4,1,5,9,2) sort(num) foreach println