I got a book on Ruby and I am trying to learn it piece by piece. I was
a Perl programmer for a while so the syntax of Ruby is not too hard for
me. What I don’t understand is the following and I thank you in advance
for your help and input.
I have a variable named “num” that is set to “9.” I’m using the
num.eql?() method to test whether or not num.eql?(9) and it gives me
“true” in IRB - no surprise there. The next one below also gives me
“true” since 18/2 is 9. I read in the book that if you want to force
the result of an experssion to be a float, make one or both operands a
floating number. So we have 18/2.0. But the result is “false.” How come?
How come everytime I change either the number to float I get a false
even though the expression is correct? At first I thought I’m not
dividing numbers - rather maybe I’m dividing the value of the chars
rather than their math value. But that’s not true as “18.to_i/2.to_i,”
just like “18/2,” gives us “true.”
I’m all ears to hear the logic behind such behavior