作为Gradle和Groovy的新手,我很难理解我在Writing a simple plugin教程中遇到的以下代码:
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') {
doLast {
println 'Hello from the GreetingPlugin'
}
}
}
}
project.task('hello') {...}
?它看起来像没有返回类型的方法声明,或者像带有附加括号的方法调用......这个构造是什么?doLast {...}
,它来自哪里?无论如何,语法模式是什么......一些关键字后跟括号。我在Groovy syntax页面中找不到类似的内容,其中主要包含使用${}
或使用括号定义类或方法的示例。答案 0 :(得分:2)
在groovy中,如果方法的最后一个参数是闭包,则可以将它放在圆括号之外。
例如
project.task('foo', {
doStuff()
})
等于
project.task('foo') {
doStuff()
}
这里是指向两种方法的javadocs的链接