何时使用符号引用实例变量而何时不引用?

时间:2016-11-29 10:01:48

标签: ruby

如果我有一个带有打印实例变量var的方法的自定义类,我应该使用var引用at symbol @吗?

TL; DR:我应该使用方法puts_reader还是puts_ivar?为什么?

class Foo
  attr_reader :var

  def initialize
    @var = "foobar"
  end

  def puts_reader
    puts var
  end

  def puts_ivar
    puts @var
  end
end 

1 个答案:

答案 0 :(得分:0)

在您的代码中,您只能使用var,因为attr_reader类似于

def var
  @var
end