Ruby 绝对路径上的目录 Glob 递归

Ruby Directory Glob Recursive on Absolute Path

我正在尝试获取绝对路径的 Dir.glob:

path = "/Users/ken/templates"
scaffold = Dir.glob("#{path}/*.erb", File::FNM_DOTMATCH)
p scaffold.inspect

这是我的目录结构:

/Users/ken/templates/test.erb
/Users/ken/templates/test2.erb
/Users/ken/templates/app/one.erb
/Users/ken/templates/app/two.erb

当我运行在目录上时,我只得到目录根目录中的文件:

"[\"/Users/ken/farmstead/test.erb\", \"/Users/ken/farmstead/test2.erb\"]"

但是没有应用程序子目录的条目。

如何让 Glob 在绝对路径上递归?

要进入子目录,需要指示Dir#glob进入子目录:

#                            ⇓⇓⇓
scaffold = Dir.glob("#{path}/**/*.erb", File::FNM_DOTMATCH)

引用我链接的文档:

**
    Matches directories recursively.