program study story

プログラムの勉強 アウトプット

デリゲートにおけるローカル変数と匿名関数

ローカル関数と匿名関数の比較

関数内に関数を書く方法として、
ローカル関数と匿名関数という2つの機能がある。

共通の性質:
・定義している関数の中でしか使えない
・周りの(定義している関数側にある)ローカル変数を取り込める。

ローカル関数

できることは多いが、書ける場所は少ない。
通常のメソッドでできることであれば概ね何でもできる。
再帰呼び出し
イテレータ
・非同期メソッド
メソッド内に限らず、関数メンバーならどれの中でも定義できます。

ローカル関数を利用する動機:
・定義した関数内からだけ使えるということ

利用例:

例1:イテレーターの引数チェック

 


匿名関数

できることに少し制限がある代わりに、どこでも書ける。