看懂Gradle脚本(2)- Groovy语言的闭包语法

本篇文章讨论下面这一小段Gradle脚本:

 

 
  1. repositories {

  2. mavenCentral()

  3. }

 

闭包字面量

闭包字面量看起来像Java里的代码块:用一对儿花括号包起来。前面讨论过,方法调用的圆括号可以省略,补上圆括号之后,脚本看起来是这样:

 

 
  1. repositories({ // <--

  2. mavenCentral()

  3. })

 

如果闭包是方法的最后一个参数,那么闭包可以放在圆括号外面

也就是说,上面的代码写成这样也是可以的:

 

 
  1. repositories() { // <--

  2. mavenCentral()

  3. }

结论

文章开头的脚本实际上是调用repositories方法,并且把一个闭包当做参数传入,有Javadoc为证。

 

举一反三

下面这段脚本定义了一个Task,并且给它定义了一个Action,打印出一句话:

 

 
  1. task 'myTask' {

  2. doLast {

  3. println 'hello world!'

  4. }

  5. }

下面是补上括号之后的脚本:

  1. task('myTask', {

  2. doLast({

  3. println('hello world!')

  4. })

  5. })

task方法签名在这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值