Robby said:
Well im glad they posted solutions, for I googled "ruby directory
exists" and got the answer from here.
Agreed, I got here from a Google search as well. It amazes me people say
things like this, that people purporting to espouse the usage of Google
and searches don't actually have a good understanding how they work.
They seem to be unable to understand that the Internet is not "right
now" but is on a time line into the future and future searches will land
here. Posting responses like "use google" are not only useless but
demonstrate the person's lack of intellectual ability... but not in a
good way.
I spoke about this in an article I wrote on how to answer questions,
these are how NOT to answer a question.
Question: I want to do XYZ using PDQ. Does anyone know what steps I need
to take to do this?
Answer: I do PDQ using XYZ all the time. It’s really hard. You should
Google it.
Analysis: Not only did they not answer the question they assume you've
never heard of Google. They assume you are so sheltered you've never
heard of the number one search engine on the face of the planet. They
are basically calling you an ignorant, or lazy, fool when in fact they
are the ones being intellectually lazy by assuming you DIDN'T search.
Worst of all they claim to know how to answer but refuse to do so.
Answer: This has been asked and answered a million times. Next time use
search.
Analysis: This guy is closely related to the previous one but scores
higher on the ironical incompetence scale. I did use search, that’s how
I got here. If you are unfamiliar with how search engines work you
should probably Google them.
I actually figured out myself how to test for the existence of a
directory but wanted to see if there was a more "Ruby" way to do it. I
now see the .Exists? seem more Ruby-esque but is also more verbose than
what I came up with, which is different from the != nil answer, which is
actually wrong. Dir[@directory_name] returns an empty array, not nil. At
least in Ruby 1.9.2 it acts this way.
In following my own advice on giving answers and to paraphrase Bambi's
dead mother, "If you don't have something useful to say, STFU." Here's
what I came up with to test if a directory does NOT exist; I don't
actually use the else part but include it here for completeness.
if Dir["/non-existant-directory"] == [] # A non-existant directory
returns an empty array, not nil, in Ruby 1.9.2
puts "Directory does not exist"
else
puts "Directory exists"
end