我有以下代碼:範圍與「自我」的關鍵字
def self.ftoc(temp_in_fahrenheit)
(temp_in_fahrenheit - 32) * 5.0/9.0
end
def self.ctof(temp_in_celcius)
(temp_in_celcius * 9.0/5.0) + 32
end
def calculate_temperatures
@f = Temperature.ctof(@c) if (@f == nil && @c != nil)
@c = Temperature.ftoc(@f) if (@c == nil && @f != nil)
end
這工作得很好。但是,如果我改變了代碼
def calculate_temperatures
@f = self.ctof(@c) if (@f == nil && @c != nil)
@c = self.ftoc(@f) if (@c == nil && @f != nil)
end
我得到的
undefined method 'ftoc' for #<Temperature:0x000000025486a0 @f=50>
我本來以爲「自我」,作爲類溫度的情況下,將能夠使用ctof錯誤/ ftoc方法,但事實並非如此。有人能幫助我理解我錯過了什麼嗎?
非常感謝。
謝謝!我將以此作爲答案,因爲我的困惑源於'自我'根據使用位置而變化的事實,這有助於我理解這一點。 – mikeappell