我打算向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
答案 0 :(得分:1)
如果向glob模式添加尾部斜杠,则只返回目录,而不是目录和文件:
directories = Dir.glob("/**/*/")
这将为您提供一个包含所有目录名称的简单字符串数组。