我试图理解这四种方法之间的区别.我知道默认情况下==调用的方法equal?在两个操作数引用完全相同的对象时返回true.
==
equal?
===默认情况下也调用==哪个调用equal?...好吧,所以如果所有这三个方法都没有被覆盖,那么我猜 ===,==并且equal?做同样的事情?
===
现在来了eql?.这是做什么的(默认情况下)?它是否调用操作数的hash/id?
eql?
为什么Ruby有这么多的平等标志?他们应该在语义上有所不同吗?
ruby comparison equality operators
comparison ×1
equality ×1
operators ×1
ruby ×1