是否有替代方法可以将代码重复五次以下

时间:2011-11-02 21:52:30

标签: groovy

         antBuilder.copy(file: lstFile, todir:srcDir)
         antBuilder.copy(file: lstGzippedFile, todir: srcDir)
         antBuilder.copy(file: tarFile1, todir:srcDir)
         antBuilder.copy(file: tarFile2, todir:srcDir)
         antBuilder.copy(file: tarFile3, todir:srcDir)

我可以通过组合文件参数和todir参数来编写上面的代码

1 个答案:

答案 0 :(得分:6)

为什么不迭代一组file:个参数?

def files = [ lst, gzipped, tar1, tar2, tar3 ]
files.each { antBuilder.copy(file: it, todir: srcDir) }

可以将它全部放在一行,但它有点长(TWSS):

[ lst, gzipped, tar1, tar2, tar3 ].each { antBuilder.copy(file: it, todir: srcDir) }