是否有可能获得在Object
执行上下文中调用Closure
的{{1}}的引用?
例如:
Closure
我希望此执行返回public class Example {
public Example(){
def a = {return this};
def b = [];
b.metaClass.a = a;
println b.a();
}
}
而不是b
的实例。
答案 0 :(得分:12)
调用闭包的对象可以引用为delegate
。例如:
def a = { return delegate }
def b = []
b.metaClass.a = a
assert b.a() == b