【问题标题】:Ruby "is" equivalentRuby“是”等价的
【发布时间】:2010-09-07 07:55:41
【问题描述】:

Python 的“is”是否有 Ruby 等价物?它测试两个对象是否相同(即具有相同的内存位置)。

【问题讨论】:

    标签: python ruby


    【解决方案1】:

    使用a.equal? b

    http://www.ruby-doc.org/core/classes/Object.html

    与 == 不同,相等?方法永远不应该被子类覆盖:它用于确定对象身份(即,a.equal?(b) iff a 与 b 是同一个对象)。

    【讨论】:

      【解决方案2】:

      您也可以使用__id__。这为您提供了对象的内部 ID 号,它始终是唯一的。要检查对象是否相同,请尝试

      a.__id__ = b.__id__

      据我所知,这就是 Ruby 标准库的工作方式(参见 group_by 和其他人)。

      【讨论】:

        猜你喜欢
        • 2015-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-07
        相关资源
        最近更新 更多