From: "Peña, Botp" Date: 2006-07-24T13:47:23+09:00 Subject: Re: checking for directory (noob mistake?) fr Kev: # I'm not sure, but works fine on my machine (OSX) # ... # Spikefish:~/projects/ant-tla/trunk kj$ ruby ~/test.rb # /Users/kj/test.rb:3: warning: parenthesize argument(s) for future # version # ". /Users/kj/projects/ant-tla/trunk" # true # ".. /Users/kj/projects/ant-tla" # true # "-private- /Users/kj/projects/ant-tla/trunk/-private-" # false # ".appletviewer /Users/kj/projects/ant-tla/trunk/.appletviewer" # false careful. it seems to work since you are sitting on it. read further on expand_path... eg, irb(main):009:0> puts `pwd` /home/botp => nil irb(main):010:0> Dir.foreach("/home/botp") do |temp| irb(main):011:1* p "#{temp} #{File.expand_path temp}" irb(main):012:1> p File.directory? "#{File.expand_path temp}" irb(main):013:1> end (irb):12: warning: parenthesize argument(s) for future version ". /home/botp" true ".. /home" true ".w3m /home/botp/.w3m" true "installer /home/botp/installer" true "mbox /home/botp/mbox" false "mail /home/botp/mail" true .... irb(main):009:0> puts `pwd` /etc => nil irb(main):010:0> Dir.foreach("/home/botp") do |temp| irb(main):011:1* p "#{temp} #{File.expand_path temp}" irb(main):012:1> p File.directory? "#{File.expand_path temp}" irb(main):013:1> end (irb):12: warning: parenthesize argument(s) for future version ". /etc" true ".. /" true ".w3m /etc/.w3m" false "installer /etc/installer" false "mbox /etc/mbox" false "mail /etc/mail" false maybe we may want foreach to optionally pass also the path, like so Dir.foreach("/home/botp") do |temp,path| p File.expand_path(temp,path) end of course, there is Dir.glob :)