Scalaでクラーク先生

Scalaの文法を調べていたら面白い書き方を見つけました。

list.add(obj)

のような、「 オブジェクト . メソッド ( 引数 ) 」という記述を

list add obj

というように、スペースで区切って書くことができるんだそうです。
ただ、引数を1つだけ取るメソッドでしか使えないので

map put key value

というのはダメでした。

object Boys {
  def be(ambitious: Ambitious) {
    println( ambitious )
  }
}

class Ambitious {
  override def toString() = "少年よ、大志を抱け"
}

var ambitious = new Ambitious

Boys be ambitious

こんな風に書けるわけですね。面白いです。