is INSTANCE = new in class是自动编译还是第一次访问后运行?

问题描述:

这个问题说明了一切。例如:is INSTANCE = new in class是自动编译还是第一次访问后运行?

class Foo 
    INSTANCE = new 

    def initialize 
    p "initialized" 
    end 
end 

将只打印时富::实例访问,编译后不会自动。

它是预期的行为?

现在,如果你不使用常量它甚至没有类型检查。所以常量只有在你使用它们的时候才会被执行。这可能在未来发生变化。