Ruby 中对象相等性方法的深入解析
1. 排除 equal? 方法
在 Ruby 里, equal? 方法用于测试对象的身份标识。也就是说,只有当 x 和 y 是对同一个对象的引用时, x.equal?(y) 才会返回 true 。无论 x 和 y 多么相似,只要它们是不同的对象, equal? 就会返回 false 。
实际上,Ruby 在判断两个对象是否为同一对象方面表现出色,所以通常无需重写 equal? 方法。
2. 日常使用的双等号 == 方法
2.1 默认行为
在 Ruby 编程中, == 运算符是常用的相等性判断方法。不过, DocumentIdentifier 类从 Object 类继承的 == 方法的默认实现和 equal? 方法一样,也是测试对象的身份标识。例如:
first_id = DocumentIdentifier.new( 'secret/plans', 'raygun.txt' )
second_id = Document
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



