这是覆盖===
方法的正确方法:
def ===(b)
self.venue === b.venue
print " new === !!!!"
end
我如何在对象a
和b
上调用它(作为同一类的实例)都具有变量venue
?
我尝试了puts a.===(b)
,但它不起作用。 (它说private method called for #<class1:0xsdfsd...>
答案 0 :(得分:1)
是的,这是覆盖===
方法的正确方法。
您可以使用以下方法调用此方法:
a === b
或
a.===(b)
您有此错误可能是因为您将===
方法定义为私有。将其定义为公共方法(在private
关键字之上),它应该有效。
答案 1 :(得分:1)
该方法应返回true
或false
,在这种情况下,您打印一些内容,返回值始终为零。尝试更改订单并首先使用打印。
虽然可以使用===调用它,但在case语句或grep方法中使用运算符更为常见。