0

我不了解 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 中的功能。

4

1 回答 1

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/]
于 2013-03-03T06:44:39.960 回答