0
这里混淆是我的代码生成的文件由红宝石/耙文件清单:
files = FileList.new('c:/temp/**/*') do |fl|
fl.exclude("*.dll")
end
puts files
怎么来的输出仍然包含* .dll文件的列表?我错过了什么?
这里混淆是我的代码生成的文件由红宝石/耙文件清单:
files = FileList.new('c:/temp/**/*') do |fl|
fl.exclude("*.dll")
end
puts files
怎么来的输出仍然包含* .dll文件的列表?我错过了什么?
因为传递给fl.exclude
的全局模式与实际文件系统相同,就像/temp
全局模式一样,但由于它不是完整路径,所以无法进行相同的匹配。
fl.exclude 'c:/temp/**/*.dll'
[继DigitalRoss的答案]或者您可以在一个正规表示法的模式,看到docs。所以这应该工作
files = FileList.new('c:/temp/**/*') do |fl|
fl.exclude(/\.dll$/)
end
puts files