我從教育網站上的教程學習。問題是,視頻是從2009年(Ruby 1.8),並且一些信息可能已經過時。在最新版本的Ruby中,有訪問實例變量所需的getter和setter方法嗎?
教員說,你需要同時使用getter/setter方法來訪問實例變量,但另有一個簡單的測試表明:
class Carnivore
def noise(noise)
@noise = noise
end
end
carnivore = Carnivore.new
puts noise = "roar" #will output "roar"
我不能確定我是否做錯了我的setter方法它讓我訪問實例變量,理想情況下不應該。令我感到困惑的是,我的導師向我展示了一個沒有getter和setter方法的程序。
在我看來,上述情況是因爲a)我的setter方法設置不當,或者b)Ruby中的版本更改允許設置setter,然後在沒有getter的情況下訪問。
所以我想我的問題是,你需要getter和setter方法來訪問實例變量?