直接访问实例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/