是否有可能在groovy中获取闭包的调用者对象?

时间:2012-08-28 21:06:07

标签: groovy closures

是否有可能获得在Object执行上下文中调用Closure的{​​{1}}的引用?

例如:

Closure

我希望此执行返回public class Example { public Example(){ def a = {return this}; def b = []; b.metaClass.a = a; println b.a(); } } 而不是b的实例。

1 个答案:

答案 0 :(得分:12)

调用闭包的对象可以引用为delegate。例如:

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

b.metaClass.a = a

assert b.a() == b