首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby ivar在类之外

ruby ivar在类之外
EN

Stack Overflow用户
提问于 2012-02-02 04:21:16
回答 1查看 1.1K关注 0票数 1

我可以在类的外部定义@some_ivar。这个ivar属于哪个类,它的作用域是什么?

例如,我可以在example.rb中说

代码语言:javascript
复制
@var = "Hi"

在irb中,我可以要求example.rb和access @var

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-02 04:23:57

该变量属于一个名为main的顶级对象。

代码语言:javascript
复制
$ irb
1.9.3p0 :001 > @var = 'Hi'
 => "Hi" 
1.9.3p0 :002 > self
 => main 
1.9.3p0 :003 > @var
 => Hi

main基本上是一个具有有趣属性的对象:在其上下文中定义的任何方法(“普通”类之外)都可用于所有对象。

代码语言:javascript
复制
$ irb
1.9.3p0 :001 > def foo
1.9.3p0 :002?>   1
1.9.3p0 :003?> end
 => nil 
1.9.3p0 :004 > Object.new.foo
 => 1 
1.9.3p0 :005 > "".foo
 => 1 
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9102708

复制
相关文章

相似问题

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