看懂Gradle指令碼(2)- Groovy語言的閉包語法
阿新 • • 發佈:2019-02-02
本篇文章討論下面這一小段Gradle指令碼:
repositories {
mavenCentral()
}
閉包字面量
閉包字面量看起來像Java裡的程式碼塊:用一對兒花括號包起來。前面討論過,方法呼叫的圓括號可以省略,補上圓括號之後,指令碼看起來是這樣:
repositories({ // <--
mavenCentral()
})
如果閉包是方法的最後一個引數,那麼閉包可以放在圓括號外面
也就是說,上面的程式碼寫成這樣也是可以的:
repositories() { // <--
mavenCentral()
}
結論
文章開頭的指令碼實際上是呼叫repositories
舉一反三
下面這段指令碼定義了一個Task,並且給它定義了一個Action,打印出一句話:
task 'myTask' {
doLast {
println 'hello world!'
}
}
下面是補上括號之後的指令碼:
task('myTask', {
doLast({
println('hello world!')
})
})
task方法簽名在這裡。