ruby glob for one-level子文件夹

时间:2013-04-16 20:05:57

标签: ruby compass-sass

如果只有一级子文件夹,我怎样才能编写匹配文件的glob?我有这样的结构:src/items/item-name/file.ext

我需要一个只匹配这些文件的glob,而不是src/items/item-name/subfolder/file.ext。我尝试使用src/blocks/*/*.*,但它仍会查看子文件夹。

我正在尝试为Compass设置监视操作,我必须使用ruby。我不熟悉它,也找不到办法自己做。

1 个答案:

答案 0 :(得分:1)

在Ruby中,您可以在*.*的所有子文件夹中捕获模式src/items之后的所有文件,如下所示:

Dir.glob('src/items/*/*.*').select({ |f| File.file?(f) }).each do|file|
  puts file
end

它没有深入挖掘(如果你不使用**它不会递归地执行它),它只考虑文件归功于File.file?(如果子文件夹名称会匹配模式*.*)。