[英]Gradle/Groovy syntax confusion
誰能解釋/評論這部分Groovy代碼?
task copyImageFolders(type: Copy) {
from('images') {
include '*.jpg'
into 'jpeg'
}
from('images') {
include '*.gif'
into 'gif'
}
into 'build'
}
更具體地講from方法 。 這是
from(sourcePaths)
或者
from(sourcePath, configureAction)
如果是帶有2個參數的那個,為什么要這樣寫而不是這樣:
from('images', {
include '*.jpg'
into 'jpeg'
})
它是語法糖 ,使內容更易於閱讀(對於Gradle配置非常有用)
在這種情況下,所有內容都與括號有關。
當閉包是方法調用的最后一個參數時(例如使用Groovy的each {}迭代機制時),您可以將閉包放在右括號之外,甚至可以省略括號:
list.each( { println it } )
list.each(){ println it }
list.each { println it }
就您而言,以下所有內容都可以正常運行:
from('images', {
include '*.jpg'
into 'jpeg'
})
from('images') {
include '*.gif'
into 'gif'
}
from 'images', {
include '*.gif'
into 'gif'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.