首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby中的"main“是什么?

Ruby中的"main“是什么?
EN

Stack Overflow用户
提问于 2009-05-27 20:16:36
回答 5查看 19.3K关注 0票数 47

如果我以“ruby x.rb”身份运行此文件:

代码语言:javascript
运行
复制
class X
end
x = X.new

叫"X.new“的东西是什么?

它是一个对象/进程/等等吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-27 20:22:37

Ruby中的一切都发生在某个对象的上下文中。顶层的对象称为"main“。它本质上是Object的一个实例,具有这样一个特殊属性:在那里定义的任何方法都被添加为Object的实例方法(因此它们在任何地方都可用)。

因此,我们可以创建一个完全由以下内容组成的脚本:

代码语言:javascript
运行
复制
puts object_id
@a = 'Look, I have instance variables!'
puts @a

它将打印"105640“和”看,我有实例变量!“。

这不是你通常需要关心的事情,但它确实存在。

票数 53
EN

Stack Overflow用户

发布于 2009-05-27 20:30:15

顶级调用者是一个Object main,它属于object类。

试试这个ruby程序:

代码语言:javascript
运行
复制
p self
p self.class
票数 13
EN

Stack Overflow用户

发布于 2009-05-27 20:19:07

这是X类。您正在调用"new“方法,该方法创建一个X类的对象。因此,如果您将此文本作为脚本运行,Ruby:

  • 创建了一个新类X,它是Object的子类,它(作为object的子类)自动继承某些方法,new就是其中之一。
  • 在新类X上为new方法设置了一个名称,创建了一个X实例对象;x获得了对该对象的引用。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/917811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档