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

repositories {  
    mavenCentral()  
}  
  • 闭包字面量
    闭包字面量看起来像Java里的 代码块:用一对儿花括号包起来。方法调用的圆括号可以省略,补上圆括号之后,脚本看起来是这样:
repositories({ 
    mavenCentral()  
})  
  • 如果闭包是方法的最后一个参数,那么闭包可以放在圆括号外面
repositories() { 
    mavenCentral()  
} 
  • 结论
    文章开头的脚本实际上是调用repositories方法,并且把一个闭包当做参数传入。

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

task 'myTask' {  
    doLast {  
        println 'hello world!'  
    }  
}  

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

task('myTask', {  
    doLast({  
        println('hello world!')  
    })  
})  

这段脚本其实是调用Project的task方法,并且传入两个参数:一个是Task的名字,另外一个是闭包,用来配置Task(在这段脚本中,给Task添加了一个Action)。

原文地址:http://blog.csdn.net/zxhoo/article/details/29601675

你可能感兴趣的:(看懂Gradle脚本(2)- Groovy语言的闭包语法)