直接访问实例variables与使用访问器方法
任何人都可以解释通过self.attribute和@attribute访问实例属性之间的区别?
self.attribute调用方法attribute 。
self.attribute = value使用参数value调用method attribute= 。
@attribute和@attribute = value获取/设置实例variables@attribute的值。
所以基本上他们是两个完全不同的东西。
但是,如果调用attr_accessor :attribute则会定义方法attribute以返回@attribute ,方法attribute=(value)可以设置@attribute = value 。 所以在这种情况下,没有什么区别。
“直接访问实例variables比访问方法快两倍”
看看: http : //greyblake.com/blog/2012/09/02/ruby-perfomance-tricks/