【发布时间】:2011-05-02 14:30:37
【问题描述】:
好的,这应该很容易......
我是 groovy 的新手,我希望实现以下逻辑:
def testFiles = findAllTestFiles();
到目前为止,我已经想出了下面的代码,它成功地打印了所有文件名。但是,我只需要将它们放入集合中,而不是打印。当然,我可以用旧的 java 方法来做到这一点:只需实例化一个集合,添加所有元素并返回它。但是,这不会教给我任何东西。
那么,您如何以酷炫的“Groovy”方式做到这一点?
static File[] findAllTestFiles() {
def directory = new File("src/test/java");
def closure = {File f -> if(f.name =~ /Test\.java$/) println f }
directory.eachFileRecurse FileType.FILES, closure
return null;
}
我希望在 Groovy 中使用尽可能少的代码实现 findAlltestFiles(),同时仍然可读。
【问题讨论】: