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