首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby中的Alias attr_reader

问Ruby中的Alias attr_reader
EN

Stack Overflow用户
提问于 2010-01-17 02:46:55
回答 2查看 3.7K关注 0票数 4

在Ruby中可以给attr_reader方法起别名吗?我有一个具有favourites属性的类,我想为美国用户的favorites设置别名。做这件事的惯用Ruby方式是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-17 02:53:42

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

代码语言:javascript
复制
class Foo
  attr_reader :bar
end

等同于:

代码语言:javascript
复制
class Foo
  def bar
    @bar
  end
end

因此,alias_method的工作方式与您预期的一样:

代码语言:javascript
复制
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
票数 8
EN

Stack Overflow用户

发布于 2010-01-17 02:50:15

可以,您可以只使用别名方法。一个非常好斗的例子:

代码语言:javascript
复制
class X
  attr_accessor :favourites
  alias :favorites :favourites
end
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2078526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档