如何从Rake中的FileList过滤并获取子列表?

时间:2013-03-03 06:13:33

标签: rake filtering

我不认识Ruby,但 Rake 看起来很酷,所以我试图使用它。

当我选择FileList["*.cpp"]的文件时,有时我想从中过滤掉子列表。

对于源输入文件,

somefile.txt
a.cpp
MySome.cpp
Another.cpp
MySomeValue.cpp

newlist = FileList["*.cpp"].sublistByFiltering("*Value.cpp").sublistByFiltering("My*")

newlist仅显示MySomeValue.cpp

我该怎么做?

更新

方法sublistByFiltering是我想象的方法,我正在寻找目前在Rake中的功能。

1 个答案:

答案 0 :(得分:1)

我不确定你在哪里提出这个sublistByFiltering方法,但我认为你要找的是在多个FileList项的内部数组之间进行交集。

a = FileList['*.cpp'].to_a
b = FileList['*Value.cpp'].to_a
a & b #=> files that are in both `a` and `b`

但是,如果您事先知道所有模式,并且只是组合它们,则可以将正则表达式传递给FileList构造函数:

FileList[/My.*Value\.cpp/]