是否可以在ruby中对attr_reader方法进行别名?我有一个属性为favourites的类,我想将其别名为favorites以供美国用户使用。习惯的ruby方法是什么?

最佳答案

attr_reader只需生成适当的实例方法。这是:

class Foo
  attr_reader :bar
end

相同于:
class Foo
  def bar
    @bar
  end
end

因此,alias_方法的工作方式与您预期的一样:
class Foo
  attr_reader :favourites
  alias_method :favorites, :favourites

  # and if you also need to provide writers
  attr_writer :favourites
  alias_method :favorites=, :favourites=
end

09-08 10:04