Ruby 中的dot和::

class A

class B

C=3

end

def f

end

def self.static_f

end

end

puts A::B::C # 3

A.new.f

A.B.C # 出错 A中没有 B 方法

A.static_f

这说明 Ruby中 dot 只能用于(类或对象的)成员函数调用, ::能用于常量(class 也是常量)访问和 类的成员函数的调用。

dot 应该表示的一种成员关系, :: 更多当成 名字空间 来 用 。