我有一个类Issue
其中每个类都有一个 key
field 。因为key
s 意味着是唯一的,我覆盖了比较运算符,使得两个 Issue
对象根据 key
进行比较像这样:
def ==(other_issue)
other_issue.key == @key
end
但是,我正在处理这样一种情况,其中可能有两个变量引用 Issue
的同一个实例。 , 因此按键比较不会区分它们。有什么方法可以检查这两个变量是否指向同一个地方?
最佳答案
根据 the source , Object#equal?
方法应该做你想做的事情:
// From object.c
rb_obj_equal(VALUE obj1, VALUE obj2)
{
if (obj1 == obj2) return Qtrue;
return Qfalse;
}
所以你要写的 ruby 代码是:
obj1.equal?(obj2)
关于ruby:检查两个变量是否是同一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31571556/