無名関数の、濃いあたりの続きになります。
まずは「実際の、(レキシカルスコープを持つ)クロージャ」の用途、のお話です。
JavaScriptですと、よく、以下の例が出ています。
function counter() {
var c = 0;
return function() {
c ++;
console.log(c);
};
}
//
c_func = counter();
//
c_func();
c_func();
c_func();
JavaScriptの場合、変数へのstatic修飾子、という概念が存在しないので、
このクロージャ(というかレキシカルスコープとスコープチェーン)がとても便利に使えます。
上述と同様のコードをPHPで書くと以下のように書く事ができます。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。