デリゲート パラメーターを使用してクロージャーを呼び出して、呼び出し元のコンテキストをオーバーライドまたはシャドウしたいと考えています。しかし、次の例では、「内側」と予想される場所に「外側」が印刷されます。
私は何を間違っていますか?
def f(String a){
def v = { return a }
v.delegate = [a:"inside"]
// Makes no difference:
// v.resolveStrategy = Closure.DELEGATE_FIRST
println(v.call())
}
f("outside")