Rubocop错误:“使用attr_reader来定义简单的读者方法。”

时间:2014-10-26 13:00:46

标签: ruby rubocop

我在使用rubocop时遇到了一些困难,并且不知道如何解决这个问题。

我的代码:

class Test
  @hello = 'stackoverflow'

  def self.hello
    @hello
  end
end

p Test.hello

它以我想要的方式运行,但是当我运行rubocop时它会说使用attr_reader。如果我尝试使用attr_reader,它会给我NoMethodError。

我已经尝试过像这样解决这个问题,但是rubocop仍然不满意。

class Test2
  @hello = 'stackoverflow'

  class << self
    def hello
      @hello
    end
  end
end

我怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

您需要在单例类上使用attr_reader,因此它会为您的Test单例类添加“hello”方法。

class Test
  @hello = 'stackoverflow'

  class << self
    attr_reader :hello
  end
end