首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从类外部访问实例变量

从类外部访问实例变量
EN

Stack Overflow用户
提问于 2012-08-25 22:15:30
回答 1查看 79.7K关注 0票数 86

如果一个实例变量属于一个类,我可以使用类实例直接访问实例变量(例如@hello)吗?

代码语言:javascript
复制
class Hello
  def method1
    @hello = "pavan"
  end
end

h = Hello.new
puts h.method1
EN

回答 1

Stack Overflow用户

发布于 2016-07-24 01:46:50

您也可以像这样调用attr_readerattr_accessor来完成此操作:

代码语言:javascript
复制
class Hello
  attr_reader :hello

  def initialize
    @hello = "pavan"
  end
end

代码语言:javascript
复制
class Hello
  attr_accessor :hello

  def initialize
    @hello = "pavan"
  end
end

调用attr_reader将为给定变量创建一个getter

代码语言:javascript
复制
h = Hello.new
p h.hello        #"pavan"

调用attr_accessor将为给定变量创建一个getter和一个setter

代码语言:javascript
复制
h = Hello.new
p h.hello        #"pavan"
h.hello = "John"
p h.hello        #"John"

正如您可能理解的那样,请相应地使用attr_readerattr_accessor。仅在需要gettersetter时使用attr_accessor,在仅需要getter时使用attr_reader

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12122736

复制
相关文章

相似问题

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