ThePioneer 2009-10-18 15:15
浏览 177
已采纳

[Ruby] 实例属性可以脱离实例吗?

如题,我的rb文件里没有定义类,也没有实例,但可以定义实例属性,如:

@t = 9
puts @t

这个@t是哪个实例的属性?实例属性可以脱离实例吗?谢谢

 

  • 写回答

3条回答 默认 最新

  • rednaxelafx 2009-10-18 17:53
    关注

    Ruby里即便是顶层代码也是在某个对象内部的,这个对象叫做“main”。
    [code="ruby"]class Foo
    def initialize
    @a = 1
    end
    end

    puts Foo.new.instance_variables #=> ["@a"][/code]
    这样可以看到Foo类的实例里有@a成员变量。那么对顶层代码也做类似的查询:
    [code="ruby"]puts self.instance_variables #=> []
    @b = 2
    puts self.instance_variables #=> ["@b"]
    puts self.class #=> Object[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?