無名関数とかクロージャとかなんかそれ系?
って話は聴くけど触ったことないし何者なのかよくわかってません><

無名関数ってのはちょっと特殊な書き方をするってだけの関数。Javaでいう無名クラスと似てる感じな気がした。
書き方はこんなん。
scala> (x:Int) => x * 5
res52: (Int) => Int = <function>

(引数) => { 処理 }ってだけ。普通のdefがなんかシンプルになったかんじ。
なんか関数っぽいのが返ってきてるのがわかる。
Scalaではこの関数を変数にぶっこめる。

scala> val hoge = (x:Int) => x * 5
hoge: (Int) => Int = <function>

scala> hoge(8)
res53: Int = 40

scala> hoge(9)
res54: Int = 45


こう見てみると、defで定義する場合も無名関数を作って変数に入れるってのとおんなじような概念なんだろうね。

ところでループやったときにlist.map(x => x*2)でリストの各要素に処理できちゃうってのやった。
このmapのなか、なんか似てると思ったらこれ無名関数だった。
というのは、型推論でいけるところは型かかなくていいのと、Scalaでは意味のとおる範囲では()とか省略できるっぽい。
つまり単に省略形の無名関数だったってこと。

さらに引数が一つであれば_に代入されてlist.map(_ * 2)とかかける。