看书的时候看到这里看不太明白,书里写得也不是特别清楚:
module A end class A::C end p A::C.ancestors # [A::C, Object, Kernel, BasicObject]
我还以为这样是表示 C 继承于 A 呢,但是结果表示并不是继承的写法,那么这里是表示的什么意思呢?
相当于 namespace 命名空间
一楼已经给出正确解释,我补充下,相当于在 module A 里定义 class,
module A
module A class C end end
继承是下面的写法:
class B end class C < B end
原来如此,懂了~
和在module A里直接定义 class 的作用域似乎不同