Groovy 将闭包作为类方法应用

Groovy 将闭包作为类方法应用,groovy,closures,Groovy,Closures,假设有一个函数def={x->x+4} 有没有一种方法可以像调用7.f()那样调用它并获取11?是的,您可以将该函数作为方法添加到Integer类中,但是,与其使用x变量,不如使用闭包的委托: Integer.metaClass.f = { delegate + 4 } assert 7.f() == 11 是的,您可以将该函数作为方法添加到Integer类中,但是,与其使用x变量,不如使用闭包的delegate: Integer.metaClass.f = { delegate + 4 }

假设有一个函数
def={x->x+4}


有没有一种方法可以像调用
7.f()
那样调用它并获取
11

是的,您可以将该函数作为方法添加到Integer类中,但是,与其使用
x
变量,不如使用闭包的
委托

Integer.metaClass.f = { delegate + 4 }

assert 7.f() == 11

是的,您可以将该函数作为方法添加到Integer类中,但是,与其使用
x
变量,不如使用闭包的
delegate

Integer.metaClass.f = { delegate + 4 }

assert 7.f() == 11

def={x->x+4}
是一个完美无缺的例子,这个标题具有严重的误导性。这篇文章询问如何“将一个方法添加到一个数字”,与调用函数(“作为闭包”)无关。在标题和预期结果的上下文中考虑<代码> f(7)< /代码>。参见代码> DEF F= {X-> X+4 } <代码>是一个封闭的标题,这是非常误导人的。这篇文章询问如何“将一个方法添加到一个数字”,与调用函数(“作为闭包”)无关。在标题和预期结果的上下文中考虑<代码> f(7)< /代码>。