Thomas Leitner schrieb:
> Has this behaviour already been seen/has anyone an explanation for
> this and does anyone know how to only get directories using Dir.[] in
> ruby 1.8.6 under Windows?


C:\Dokumente und Einstellungen\wolfgang\Desktop>ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]

C:\Dokumente und Einstellungen\wolfgang\Desktop>irb
irb(main):001:0> Dir['dirtest/**/**']
=> ["dirtest/dat1.txt", "dirtest/dat2.txt", "dirtest/sub1", 
"dirtest/sub1/sub11", "dirtest/sub1/sub1/dat1.txt", "dirtest/sub2", 
"dirtest/sub2/sub21", "dirtest/sub2/sub2dat1.txt"]
irb(main):002:0> Dir['dirtest/**/**'].find_all{|f|File.directory?(f)}
=> ["dirtest/sub1", "dirtest/sub1/sub11", "dirtest/sub2", "dirtest/sub2/sub21"]

The Problem does not appear using a Ruby 1.9 snapshot under Windows:

C:\Dokumente und Einstellungen\wolfgang\Desktop>ruby19 -v
ruby 1.9.0 (2007-05-15 patchlevel 0) [i386-mingw32]

C:\Dokumente und Einstellungen\wolfgang\Desktop>irb19
irb(main):001:0> Dir['dirtest/**/**']
=> ["dirtest/dat1.txt", "dirtest/dat2.txt", "dirtest/sub1", 
"dirtest/sub1/sub11", "dirtest/sub1/sub1/dat1.txt", "dirtest/sub2", 
"dirtest/sub2/sub21", "dirtest/sub2/sub2dat1.txt"]
irb(main):002:0> Dir['dirtest/**/**/']
=> ["dirtest/", "dirtest/sub1/", "dirtest/sub1/sub11/", "dirtest/sub2/", 
"dirtest/sub2/sub21/"]

Wolfgang NáÅasi-Donner