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

时间:2012-09-03 03:51:05

标签: 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**

1 个答案:

答案 0 :(得分:2)

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

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