Module MTest class << self def xxx end end end
上面的代码中 class << self 这句是定义了一个 MTest 类吗?与模块名称相同?
进入了当前 类/模块 的 metaclass, 又叫元类,单例类或者是鬼类. 上讲的很清楚
里面的方法是类方法,和 def self.xxx 功能一样
#1 楼 @neverlandxy_naix 同样是你,谢谢啦
class Point def self.fun1 "Class method" end class << self def fun2 "Class method" end end end class << Point def fun3 "Class method" end end
fun1,fun2,fun3 是一样的,都是类方法
#4 楼 @besfan 亲,重点是下面这个
Module MTest class << self
是 Module 哦
module 和类比较接近,不同的地方是不能被实例化,也不能被子类化