当我想访问
中课程CONST
中的常量Test
时
class Test
CONST = 7
end
来自课外,我必须这样做:
puts Test::CONST
为什么我这样做会出错?
puts obj::CONST
如果obj
是Test
类的对象,如果我尝试通过对象访问常量,为什么会出现错误?
答案 0 :(得分:16)
因为实例对象和类对象不是同一个东西。命名空间存在于类对象上,并且在实例上不存在。
然而,您可以向实例询问它的类,然后深入研究它。
puts obj.class::CONST