标签: groovy closures
假设有一个函数def f = { x -> x + 4 }。
def f = { x -> x + 4 }
有没有办法像7.f()那样称呼它并获得11?
7.f()
11
答案 0 :(得分:5)
是的,您可以将该函数作为方法添加到Integer类中,但是,您最好不要使用x变量,而是使用闭包的delegate:
x
delegate
Integer.metaClass.f = { delegate + 4 } assert 7.f() == 11