(1) eql? : Equivalence with type and value
(2) == : Equivalence with value
(3) equal? : Identity
irb(main):001:0> 2.eql? 2.0 # 다른 타입 => false irb(main):002:0> 2 == 2.0 # 타입은 다르나 값은 같음 => true irb(main):003:0> 2.equal? 2.0 # 다른 인스턴스 => false irb(main):004:0> "hi".eql? "hi" # 같은 타입 같은 값 => true irb(main):005:0> "hi" == "hi" # 같은 값 => true irb(main):006:0> "hi".equal? "hi" # 서로 다른 인스턴스 => false irb(main):007:0> 2.eql? 2 # 같은 타입 같은 값 => true irb(main):008:0> 2 == 2 # 같은 값 => true irb(main):009:0> 2.equal? 2 # 같은 인스턴스 => true
Leave a Reply