在搖籃腳本我有一個代表一個Groovy閉包,我創建了一個函數調用該委託方法如下所述:從Groovy中的函數調用閉包的委託方法?
// Simplified example
ant.compressFiles() {
addFile(file: "A.txt")
addFile(file: "B.txt")
addAllFilesMatching("C*.txt", getDelegate())
}
def addAllFilesMatching(pattern, closureDelegate) {
// ...
foundFiles.each {
closureDelegate.addFile(file: it)
}
}
是否有可能做這更漂亮的方法,而不用將代理傳遞給函數?是否有可能以某種方式擴展委託新的方法?
可能的工作,但由於它需要更多的代碼,我仍然需要委託傳遞給函數,我不真的認爲這不合格更漂亮。 –