gpt4 book ai didi

类外的ruby ivar

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:48 26 4
gpt4 key购买 nike

我可以在类之外定义@some_ivar。这个 ivar 属于哪个类,它的范围是什么?

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

@var = "Hi"

在 irb 中,我可以要求 example.rb 并访问@var

最佳答案

该 var 属于名为 main 的顶级对象。

$ irb
1.9.3p0 :001 > @var = 'Hi'
=> "Hi"
1.9.3p0 :002 > self
=> main
1.9.3p0 :003 > @var
=> Hi

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

$ 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

关于类外的ruby ivar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com