【发布时间】:2016-11-05 06:38:37
【问题描述】:
我正在学习教育网站上的教程。问题是该视频来自 2009 年(Ruby 1.8),其中一些信息可能已过时。
讲师说您需要同时使用 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 方法来访问实例变量吗?
【问题讨论】:
标签: ruby