Kernel模块的目的是什么?如果所有的事情目前定义什么会改变Kernel上被定义Object,有没有这样的模块Kernel?Kernel还是on上定义它Object?mu *_*ort 10
我将从一个问题开始:self在一个典型的Kernel方法中会有什么样的puts?最有意义的self内部puts可能是Ruby运行时本身.类似于其他"真正想要成为函数的方法",如Array或fork.因此,您可以将其Kernel视为对Ruby本身或多或少的命令或消息的方法的倾销.
Kernel也有奇怪的方法sub,chop这些方法实际上只对一次性ruby -e脚本有用.这些东西倾向于$_用作暗示,self但我认为它们可以被视为上面"Ruby运行时命令"的特殊情况.
当您希望能够在任何对象上调用该方法时,方法在哪里?我会说它会进入Object.如果该方法实际上是伪装的功能并且没有意义self,那么它就会进入Kernel.