手続き型的なリスト処理
object Main { def main(args : Array[String]): Unit = { var ls = List[int](3, 1, 4) ls = ls.sort((x, y) => x < y) for (x <- ls) println(x) } }
関数型的なリスト処理
List(3, 1, 4).sort((x, y) => x < y).foreach(println)
. の代わりにスペースでもいいのか〜。ついでに関数呼び出しにカッコつけなくていいのね
List(3, 1, 4) foreach println
object Main { // 1秒ごとに func 関数を実行 def timerCallback(func: () => Unit): Unit = { while (true) { func() Thread.sleep(1000) } } // Hello を出力 def hello() = println("Hello") def main(args : Array[String]): Unit = { // 1秒ごとに Hello を出力 timerCallback(hello) } }
object Main { // 1秒ごとに func 関数を実行 def timerCallback(func: () => Unit): Unit = { while (true) { func() Thread.sleep(1000) } } def main(args : Array[String]): Unit = { // 1秒ごとに Hello を出力 timerCallback(() => println("Hello")) } }
以下の2行は同じ意味になる
// リストから 1 より大きい要素を抽出 List(3, 1, 4).filter(_ > 1).foreach(println) List(3, 1, 4).filter(x => x > 1).foreach(println)
シンタックス・ハイライトにはとりあえず java を使っている