Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby 1.9.3 Dir.glob strange recursive match behaviour

Assuming a directory structure of:

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

I am trying to find 'h' via:

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

However this is not working. Any ideas?

You can try the test case below:

$ /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**
like image 345
Jason Ling Avatar asked Sep 03 '12 03:09

Jason Ling


1 Answers

This is a bug and has been solved with changeset r36905. Yay!

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

like image 165
Jason Ling Avatar answered Nov 12 '22 23:11

Jason Ling