我们知道顶级域,定义域的self是啥?
代码如下:
puts self #main
puts self.class #Object
我们知道当一个方法被调用的时候,如果没有对象接受,默认就是self,如:
代码如下:
def tell_me_who
puts self
end
tell_me_who #main
方法调用是这样的步骤,先查找当前对象的所在类的实例方法存在方法与否,如果存在,调用方法,如果不存在则查看superclass,直到 BasicObject都没找到对于方法的话,就会调用Kernel的method_missing()方法,并且报错,如
代码如下: