2

すぐに実行されないことはわかっていますが、いつ実行されますか?

4

2 に答える 2

5

はい、宣言時に名前を付ける必要はありませんが、実行時に名前にバインドできます。

たとえば、Python では次のようになります。

def do_it(some_func):
    # call some_func
    result = some_func()
    # do something else

do_it(lambda: 42)

したがって、ラムダは「42」を返すだけで、名前はありません。しかし、関数に渡されると、パラメーター名do_itにバインドされます。some_funcしたがって、呼び出す名前がありそれが呼び出されます。

于 2009-07-11T04:39:22.140 に答える
1

匿名関数は、実行時に名前にバインドすることなく、定義するとすぐに実行することもできます。Javascript の例:

var o = "hello world";
(function(msg) {
  alert(msg);
})(o);

これはスコープの作成によく使用されます。

于 2009-07-11T04:48:19.330 に答える