scala で id 関数
Scala の id 関数(というか polymorphic な関数)は以下のように書く。Java っぽい。
scala> def id[T](x:T) : T = x
id: [T](T)T
scala>
id:yoshihiro503 さんに、id(id) ができるかどうかやってみと言われてたので、
scala> id(id) <console>:6: error: missing arguments for method id in object $iw; follow this method with `_' if you want to treat it as a partially applied function id(id) ^ scala>
あれ…。でも適当に"_"を入れてみたら動いてしまった。"_"ってなんなんだ。
scala> id(id(_)) typing eta id res7: (T) => Nothing = <function> scala>
どうやら"_"を使って id が関数であることを教えてあげる必要があるようです。(勘)
"_"についてはコメント欄参照。(thanks to mzp)