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

Jas*_*ing 10 ruby ruby-1.9 ruby-1.9.3

假设目录结构为:

a/b/c/d/e/f/g/h
Run Code Online (Sandbox Code Playgroud)

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

Dir.glob('a/**/f/g/h')
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有任何想法吗?

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

$ /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**
Run Code Online (Sandbox Code Playgroud)

Jas*_*ing 2

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

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