在使用像Dir构造函数之类的glob之后如何将目录路径作为字符串?

时间:2017-06-01 14:50:24

标签: ruby glob

我打算向Dir构造函数传递一个字符串,该字符串表示匹配所有目录(例如/**/*)的glob,因此我可以接收代表匹配目录的Dirs数组。

如何将这些Dirs的路径作为字符串?这是否可以在不调用Dir.chdir且不迭代这些目录中包含的所有文件的情况下完成?

编辑:在阅读完第一个答案后,我计划测试这个片段,只是打印返回的glob()方法实体:

def processRemappingConfig(configString)
   configLineArray = line.split("=>").each{ |entry| entry.chomp!;}
   if configLineArray[0].match(/(\*\*)+/) then
      #TODO:HOW TO Expand dirname path and get list of paths
      puts Dir.glob(configLineArray[0]);
   end
end

configString/**/$currLogicSrcProjDirName=>/$currLogicSrcProjDirName

1 个答案:

答案 0 :(得分:1)

如果向glob模式添加尾部斜杠,则只返回目录,而不是目录和文件:

directories = Dir.glob("/**/*/")

这将为您提供一个包含所有目录名称的简单字符串数组。