使用实例变量与' attr_reader'之间的区别

时间:2018-06-03 21:38:19

标签: ruby instance-variables accessor

使用@namename(使用attr_reader)有什么区别?他们使用不同的路径方式:@name是直接的,而name使用方法来达到@name。但除此之外,有什么区别吗?结果是一样的。

1 个答案:

答案 0 :(得分:2)

  

但除此之外没有任何区别,因为结果是一样的。

除此之外?不多。只是attr_reader为您提供了一种方法(如您所知),因此您可以对方法执行所有操作:公共/私有,装饰,覆盖子类,包含模块等等

哦,实例变量也很难从课外访问。这就是attr_reader和相关助手存在的原因(为了在公共方法中轻松包装ivars)。