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