這是overwite的===
方法有道:覆寫===方法以及如何調用它
def ===(b)
self.venue === b.venue
print " new === !!!!"
end
,如何調用它的對象a
和b
誰(作爲同一類的實例)都有變量venue
?我試過puts a.===(b)
但它不起作用。 (它說private method called for #<class1:0xsdfsd...>
這是overwite的===
方法有道:覆寫===方法以及如何調用它
def ===(b)
self.venue === b.venue
print " new === !!!!"
end
,如何調用它的對象a
和b
誰(作爲同一類的實例)都有變量venue
?我試過puts a.===(b)
但它不起作用。 (它說private method called for #<class1:0xsdfsd...>
是的,它覆蓋===
方法有道
可以調用此方法。
a === b
或
a.===(b)
你有這樣的錯誤可能是因爲您將===
方法定義爲私有方法。將其定義爲公共方法(關鍵字private
以上),它應該工作。
該方法應返回true
或false
,在這種情況下,您打印某些內容並且返回值始終爲零。嘗試改變順序並首先使用打印。
儘管可以使用===調用它,但在case-statement或grep方法中使用該運算符會更常見。
你能提供更廣泛的上下文嗎?你在哪裏定義你的方法? –
您的錯誤信息是不夠的。它說什麼是私人的方法?這種方法是什麼類? – sawa