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)< /代码>。