9
在任何類定義之外的文件中創建實例變量(如@foo
)意味着什麼。假設有一個文件test.rb,文件的全部內容在下面給出。Ruby在類之外創建實例變量
# test.rb
@foo = "bar"
puts @foo
它打印"bar"
,但是這是某種形式的包裝類的實例變量?
使用兩個文件進行測試表明有一個main
對象,所有內容都被封裝在內部。這種理解是否正確?
a.rb內容
@me = self
@a = "from-a"
b.rb內容
require "./a"
@b = "from-b"
puts @me == self # true (self refers to the same object)
puts self.class # Object
puts self.instance_variables # [@a, @b, @me]
是'main'的'Object'一切下運行一個實例? – Anurag 2011-04-16 05:47:32