如果我以“ruby x.rb
”身份运行此文件:
class X
end
x = X.new
叫"X.new
“的东西是什么?
它是一个对象/进程/等等吗?
发布于 2009-05-27 20:22:37
Ruby中的一切都发生在某个对象的上下文中。顶层的对象称为"main“。它本质上是Object的一个实例,具有这样一个特殊属性:在那里定义的任何方法都被添加为Object的实例方法(因此它们在任何地方都可用)。
因此,我们可以创建一个完全由以下内容组成的脚本:
puts object_id
@a = 'Look, I have instance variables!'
puts @a
它将打印"105640“和”看,我有实例变量!“。
这不是你通常需要关心的事情,但它确实存在。
发布于 2009-05-27 20:30:15
顶级调用者是一个Object main,它属于object类。
试试这个ruby程序:
p self
p self.class
发布于 2009-05-27 20:19:07
这是X类。您正在调用"new“方法,该方法创建一个X类的对象。因此,如果您将此文本作为脚本运行,Ruby:
new
就是其中之一。X
上为new
方法设置了一个名称,创建了一个X实例对象;x获得了对该对象的引用。https://stackoverflow.com/questions/917811
复制相似问题