20/02/14 17:39:20.53 EOtBZfN80.net
>>166
>( ) で囲んで式にすれば、
括弧なくても定義したlambdaが返される
.()でそのlambdaのcallメソッドを呼び出してるだけ
-> (arg) { arg + 1 }.(99) でも
-> (arg) { arg + 1 }[99] でも
-> (arg) { arg + 1 }.call 99 でも同じ
ちなみにJSのvar foo = (x)=> x+1 みたいなのは関数に名前はついてないので無名関数だぞ
rubyで foo = -> (arg) { arg + 1 } と書いても
無名のlambdaをfooという変数に入れてるだけで
lambda自身に名前がつくわけではない