我不认识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中的功能。
答案 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/]