ラムダ式
インラインでメソッド宣言したい
式形式のメンバー
=>で{}を省略出来るよ。という話。
1行で済むなら綺麗に書けるね。
参考
C#の方式も使えるが、Unity独自デリゲートがまた別にある
UnityAction
UnityEvent
C#のEventHandlerに比べると、まだ枯れた文法をしてる
code:ruby
bar = -> ( a, b ) { a * b }
bar( 2, 3 ) # => 6
# 他所の言語で使われる => は、rubyではハッシュのセパレータに使う
hoge = {
fuga => :piyo
}
ブロックとラムダ式は微妙に違う概念なので注意
code:javascript
var bar = function(a, b){ a * b } // これは無名関数
bar(2, 3); // => 6
foo = a => a + 1; // これがラムダ式(色々省略した書き方)
a(1); // => 2
arguments:無名関数では参照できる。 ラムダ式では参照できない。
ClassクラスとかMethodクラスとかある
関数ポインタとの大きな違いは、クロージャが使えるかどうか、らしい。(?)