デリゲートにおけるローカル変数と匿名関数
ローカル関数と匿名関数の比較
関数内に関数を書く方法として、
ローカル関数と匿名関数という2つの機能がある。
共通の性質:
・定義している関数の中でしか使えない
・周りの(定義している関数側にある)ローカル変数を取り込める。
ローカル関数
できることは多いが、書ける場所は少ない。
通常のメソッドでできることであれば概ね何でもできる。
・再帰呼び出し
・イテレーター
・非同期メソッド
メソッド内に限らず、関数メンバーならどれの中でも定義できます。
ローカル関数を利用する動機:
・定義した関数内からだけ使えるということ
利用例:
例1:イテレーターの引数チェック
匿名関数
できることに少し制限がある代わりに、どこでも書ける。