Significance of Kernal.test method?

Hi Team,

I am new to ruby and the best way I found to learn ruby is to
walk-through
some of the existing code and try understanding them how it is done.

Recently I came across this following line of code,

test(?e, File.join(dir, file))

Initially, was finding difficult to understand what’z this test is
actually
trying to perform on the file and eventually managed to figure out that
its
just checking whether the file exists or not. []
I also realized that ‘?e’ is a command to the test method to check if
the
file exists. I also see that, in ruby, there is a much understandable
and
straight-forward way to achieve the same.

File.exist?

Just curious to know what is the advantage of using the former ‘Kernal’
method than using the later ‘File’ api method.

Thanks
Venkat

On May 21, 9:50 am, v4 forums [email protected] wrote:

trying to perform on the file and eventually managed to figure out that its
just checking whether the file exists or not. []
I also realized that ‘?e’ is a command to the test method to check if the
file exists. I also see that, in ruby, there is a much understandable and
straight-forward way to achieve the same.

File.exist?

Just curious to know what is the advantage of using the former ‘Kernal’
method than using the later ‘File’ api method.

I believe #test stems for unix command line, and thus appeals to that
flavor of developer. It is a much more concise notation the
File.exist? or File.fill-in-the-blank. And though I like it’s
brevity it has two aweful shortcomings 1) it is rather archaic and
cryptic and 2) it’s bound to get clobbered by test frameworks!