0
我有以下功能:如果聲明不要再追零
def price
if super == nil
return 'super'
end
super
end
nil
被返回。這怎麼可能?如果if語句超級,如果它等於零,然後返回'超級'
我有以下功能:如果聲明不要再追零
def price
if super == nil
return 'super'
end
super
end
nil
被返回。這怎麼可能?如果if語句超級,如果它等於零,然後返回'超級'
如果super
每次都可以返回不同的值,這是可能的(如果不太可能)。也許嘗試以下?它只呼叫super
一次,所以它沒有這個陷阱。
def price
super || 'super'
end
這是說的東西,應該更簡單地表示爲一個非常奇怪的方式:
def price
super || 'super'
end
這可能是同樣的方法將第二次調用由於某種原因,返回nil
的情況。你沒有捕獲到最初的結果,所以很難說爲什麼這不起作用。