From: "Gulyás Attila" Date: 2013-01-13T06:30:27+09:00 Subject: Re: How the equality check is being done in Ruby? Hi Arup, http://ruby-doc.org/core-1.9.3/Numeric.html#method-i-eql-3F "eql?" returns true if num and numeric are the same type and have equal values. 1 is Integer, 1.0 is Float 1 == 1.0 #=> true 1.eql?(1.0) #=> false (1.0).eql?(1.0) #=> true please refer to the documentation before asking. regards attila On Sat, Jan 12, 2013 at 10:13 PM, Arup Rakshit wrote: > Hi , > > > I ran the below code to do some test on <=>,==,===,eql?,equal? I took 1 > and 1.o to perform my test. > > Part-I : output is saying 1 and 1.0 are equal - as per mathematical > knowledge it is right. > > irb(main):009:0> 1<=>1.01 > => -1 > irb(main):010:0> 1<=>1.0 > => 0 > irb(main):011:0> 1==1.0 > => true > irb(main):012:0> 1===1.0 > => true > > Part- II > > Here why the opposite output comes here, how it comes? what computation > Ruby did on these? > > irb(main):015:0> 1.eql? 1.0 > => false > irb(main):016:0> 1.equal? 1.0 > => false > irb(main):017:0> > > -- > Posted via http://www.ruby-forum.com/. >