9

の実行コンテキストでObjectを呼び出したの参照を取得することは可能ですか?ClosureClosure

例えば:

public class Example {

    public Example(){
        def a = {return this};
        def b = [];

        b.metaClass.a = a;

        println b.a();
    }
}

bのインスタンスの代わりに、この実行を返すようにしますExample

4

1 に答える 1

13

クロージャが呼び出されるオブジェクトは、として参照できますdelegate。例:

def a = { return delegate }
def b = []

b.metaClass.a = a

assert b.a() == b
于 2012-08-28T21:26:32.997 に答える