I’ve checked ruby-talk emails regarding Dir.glob and File.join but
didn’t see this one reported before.
C:> ruby --version
ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]
C:> irb
irb(main):001:0> Dir.glob(File.join(ENV[‘USERPROFILE’], ‘*.rnd’))
=> [C:\Documents and Settings\yura/putty.rnd"]
C:> ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
C:> irb
irb(main):001:0> Dir.glob(File.join(ENV[‘USERPROFILE’], ‘*.rnd’))
=> []
C:> ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
C:> irb
irb(main):001:0> Dir.glob(File.join(ENV[‘USERPROFILE’], ‘*.rnd’))
=> []
I could reproduce this on my system too.
Could it be that 1.8.6 Dir.glob gets upset on the spaces in
ENV[‘USERPROFILE’]?
Ronald
Hi,
At Wed, 18 Jul 2007 17:30:17 +0900,
Ronald F. wrote in [ruby-talk:260407]:
Could it be that 1.8.6 Dir.glob gets upset on the spaces in
ENV[‘USERPROFILE’]?
No, backslash is a special character.
On 7/18/07, Nobuyoshi N. [email protected] wrote:
At Wed, 18 Jul 2007 17:30:17 +0900,
Ronald F. wrote in [ruby-talk:260407]:
Could it be that 1.8.6 Dir.glob gets upset on the spaces in
ENV[‘USERPROFILE’]?
No, backslash is a special character.
So, is it a “fix” or a “bug”?
What is now a portable way to do the following (does not work on
Windows any more):
Dir.glob(File.join(ENV[‘HOME’], ‘*.dat’))
On 7/18/07, Ronald F. [email protected] wrote:
C:> ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
C:> irb
irb(main):001:0> Dir.glob(File.join(ENV[‘USERPROFILE’], ‘*.rnd’))
=> []
I could reproduce this on my system too.
Could it be that 1.8.6 Dir.glob gets upset on the spaces in
ENV[‘USERPROFILE’]?
No, it’s File:ALT_SEPARATOR ():
C:> ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
C:> irb
irb(main):001:0> Dir.glob(File.join(ENV[‘USERPROFILE’],
‘.rnd’).gsub(File::ALT_SEPARATOR, File::SEPARATOR))
=> [C:/Documents and Settings/yura/putty.rnd"]
irb(main):002:0> Dir.glob(File.join(ENV[‘USERPROFILE’],
'.rnd’).gsub(File::SEPARATOR, File::ALT_SEPARATOR))
=> []
Hi,
At Thu, 19 Jul 2007 07:52:50 +0900,
Yuri Klubakov wrote in [ruby-talk:260611]:
Could it be that 1.8.6 Dir.glob gets upset on the spaces in
ENV[‘USERPROFILE’]?
No, backslash is a special character.
So, is it a “fix” or a “bug”?
a fix.
What is now a portable way to do the following (does not work on
Windows any more):
Dir.glob(File.join(ENV[‘HOME’], ‘*.dat’))
Dir.glob(File.expand_path(’*.dat’, ENV[‘HOME’]))
particularly for ENV[‘HOME’]:
Dir.glob(File.expand_path(’~/*.dat’))