ruby - Ruby 中的 "main"是什么?

标签 ruby program-entry-point

如果我将此文件作为“ruby x.rb”运行:

class X
end
x = X.new

调用“X.new”的是什么东西?

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

最佳答案

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

所以我们可以制作一个完全由以下内容组成的脚本:

puts object_id
@a = 'Look, I have instance variables!'
puts @a

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

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

关于ruby - Ruby 中的 "main"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/917811/

相关文章:

c++ - 为什么 argc 不是常量?

c# - 如何从 C# 解密 ruby​​ 中的 RijandelManaged?

ruby-on-rails - 获取 nil :NilClass on the view new 的未定义方法 `errors'

c - 我如何处理 main 中的参数?

html - 在页面上定位元素

go - 为什么我不能在 golang 中将 main 添加到我的库中?

ruby - 哈希字符串编码不正确

用于 Twitter 用户/站点流的 Ruby 库?

mysql - rails Controller Action 悬挂

c - 使用 main(int argc,char *argv[]) 时出现问题