是否可以在Ruby中为attr_reader
方法添加别名?我有一个favourites
属性的类,我想为美国用户别名favorites
。什么是惯用的Ruby方法呢?
答案 0 :(得分:13)
是的,你可以使用别名方法。一个非常棘手的例子:
class X
attr_accessor :favourites
alias :favorites :favourites
end
答案 1 :(得分:6)
attr_reader只是生成适当的实例方法。这样:
class Foo
attr_reader :bar
end
与:
相同class Foo
def bar
@bar
end
end
因此,alias_method可以按照您的预期运行:
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