昨日のCAIAFは機能面での意味から名前を付けたが、少々長いし覚えづらい。
結局、
- 関数内のネストした関数の中で関数の外の変数(intなど)が再結合できない
- 関数の呼び出し側の階層で関数の中の変数が参照できない
のを、
- ダミーの関数の中に変数や関数などの属性を詰め込んで、それを介してアクセスする
というのがCAIAFのアプローチである。
アプローチの面から命名すると、(ダミーの)関数を名前空間として利用して、インスタンスの概念も有するということなので、namespace function object(名前空間関数オブジェクト)と命名することにした。これなら覚えやすい。