可能性の重複:
私はすぐにそれがメソッドの引数でクロージャオブジェクトとして表示されるのではなく、匿名の機能を評価したい
Immediately executing anonymous functions私はすぐに無名関数を評価できますか?
。これは可能ですか?
例えば:
$obj = MyClass;
$obj->Foo(function(){return "bar";}); // passes a Closure into Foo()
$obj->Foo(function(){return "bar";}()); // passes the string "bar" into Foo()?
3行目は不正な構文である - これを実行する方法はありますか?あなただけの変数に代入し、その後、変数を呼び出すことができたときにが少し愚かかもしれませんが
おかげ
これを行う必要があるのは想像もしません。関数の結果を変数に代入し、その変数を代わりに渡すのはなぜですか? –
また、これらの例では、関数はちょうど匿名関数であり、クロージャの特性を持たず、現在のコンテキストから変数を覚えていません –
私はそれを実現していますこれを行うには - 明らかにそれは異常な状況です。 – Tom