在Ruby中可以给attr_reader方法起别名吗?我有一个具有favourites属性的类,我想为美国用户的favorites设置别名。做这件事的惯用Ruby方式是什么?
发布于 2010-01-17 02:53:42
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发布于 2010-01-17 02:50:15
可以,您可以只使用别名方法。一个非常好斗的例子:
class X
attr_accessor :favourites
alias :favorites :favourites
endhttps://stackoverflow.com/questions/2078526
复制相似问题