• Ruby: 2.0.0p353 (2013-11-22) [x64-mingw32]

文字列

演算子 == は値が同じならば真. equal? メソッドは同じインスタンスならば真.

a = 'Alice'
b = 'Bob'
c = 'Alice'

a == b            // false
a == c            // true
a.equal?(c)       // false
a.equal?(a)       // true
a.equal?('Alice') // false

数字

演算子 == は型変換が行われるけど equal? メソッドは行われない. 一番下の結果も文字列の場合と違う.

a = 10
b = 10.0

a == b       // true
a.equal?(b)  // false
a.equal?(10) // true