这个问题说明了一切。例如:
class Foo
INSTANCE = new
def initialize
p "initialized"
end
end
只在Foo::INSTANCE被访问时打印,编译后不会自动打印。
这是预期行为吗?
现在,如果你不使用常量,它甚至不会进行类型检查。所以常量只有在使用时才会被执行。这在将来可能会改变