Ruby 1.9.3 Dir.glob 奇怪的递归匹配行为

标签 ruby ruby-1.9 ruby-1.9.3

假设目录结构为:

a/b/c/d/e/f/g/h

我试图通过以下方式找到“h”:

Dir.glob('a/**/f/g/h')

但是这不起作用。有什么想法吗?

您可以尝试下面的测试用例:

$ /usr/bin/ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ mkdir -p a/b/c/d/e/f/g/h
$ ruby -e "puts Dir.glob('a/**/*')"
a/b
a/b/c
a/b/c/d
a/b/c/d/e
a/b/c/d/e/f
a/b/c/d/e/f/g
a/b/c/d/e/f/g/h
$ ruby -e "puts Dir.glob('a/**/h')"
a/b/c/d/e/f/g/h
$ ruby -e "puts Dir.glob('a/**/g/h')"
a/b/c/d/e/f/g/h
$ ruby -e "puts Dir.glob('a/**/f/g/h')"
**nothing**

最佳答案

这是一个错误,已通过变更集 r36905 解决。耶!

https://bugs.ruby-lang.org/issues/6977

关于Ruby 1.9.3 Dir.glob 奇怪的递归匹配行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241772/

相关文章:

ruby-on-rails - Ruby:为什么实例评估类创建实例方法而不是类方法

ruby - ruby 需求疑难解答

ruby-on-rails - rails 5 : Search multiple models with Ransack

ruby - 为什么这个 enumerator.to_a 返回 []?

ruby - 什么是受污染的对象,我们什么时候应该清除它们?

ruby - 我怎样才能避免在 Ruby 1.9 中的每个 UTF-8 文件的顶部放置神奇的编码注释?

ruby - 在 ruby​​ 脚本中访问 self.method 中的变量

ruby - 使用Selenium-driver的描述中提到的代码可以在 Mechanize 中实现吗?

ruby - 将字符串转换为正则表达式 ruby

ruby - 官方 Ruby 1.9 Docker 镜像在哪里?