本篇文章讨论下面这一小段Gradle脚本:
repositories { mavenCentral() }
闭包字面量看起来像Java里的代码块:用一对儿花括号包起来。前面讨论过,方法调用的圆括号可以省略,补上圆括号之后,脚本看起来是这样:
repositories({ // <-- mavenCentral() })
也就是说,上面的代码写成这样也是可以的:
repositories() { // <-- mavenCentral() }
文章开头的脚本实际上是调用repositories方法,并且把一个闭包当做参数传入,有Javadoc为证。
下面这段脚本定义了一个Task,并且给它定义了一个Action,打印出一句话:
task 'myTask' { doLast { println 'hello world!' } }下面是补上括号之后的脚本:
task('myTask', { doLast({ println('hello world!') }) })task方法签名在这里。
看懂Gradle脚本(2)- Groovy语言的闭包语法,布布扣,bubuko.com
原文:http://blog.csdn.net/zxhoo/article/details/29601675