我可以在类的外部定义@some_ivar。这个ivar属于哪个类,它的作用域是什么?
例如,我可以在example.rb中说
@var = "Hi"在irb中,我可以要求example.rb和access @var
发布于 2012-02-02 04:23:57
该变量属于一个名为main的顶级对象。
$ irb
1.9.3p0 :001 > @var = 'Hi'
=> "Hi"
1.9.3p0 :002 > self
=> main
1.9.3p0 :003 > @var
=> Himain基本上是一个具有有趣属性的对象:在其上下文中定义的任何方法(“普通”类之外)都可用于所有对象。
$ 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 https://stackoverflow.com/questions/9102708
复制相似问题