groovy中call(body) 函数作用
时间: 2024-05-13 20:13:32 浏览: 216
fnz:Groovy的函数式编程思路
在Groovy中,call(body)函数是一个闭包调用的语法糖。它的作用是执行传递给它的闭包(或代码块)。
例如,以下代码使用call(body)函数执行一个简单的闭包:
```
def myClosure = {
println "Hello, World!"
}
myClosure.call()
```
在这个例子中,myClosure是一个打印"Hello, World!"的闭包。调用myClosure.call()等效于直接调用myClosure。
此外,call(body)函数还可以将当前对象作为参数传递给闭包,例如:
```
class MyClass {
def myMethod() {
def myClosure = { obj ->
println "Hello, ${obj.name}!"
}
myClosure.call(this)
}
def name = "World"
}
new MyClass().myMethod()
```
在这个例子中,myMethod()方法创建了一个闭包,它使用当前对象的name属性打印出一条消息。然后,它使用call(this)将当前对象作为参数传递给闭包。最后,myMethod()被调用,打印出"Hello, World!"。
阅读全文