class Constants
@@pi = 3.14
end
puts(ConstantContainer.pi)
我得到以下错误:undefined method 'pi' for ConstantContainer:Class (NoMethodError)
如何告诉ruby pi
是类变量而不是方法?
edit:我知道这对于定义常量是非常不合适的,但我需要一种快速演示类变量的方法。
用一个方法包装它,当然是
class Constants
@@pi = 3.14
def self.pi
@@pi
end
end
Constants.pi # => 3.14
或者做丑陋的class_variable_get
class Constants
@@pi = 3.14
end
Constants.class_variable_get(:@@pi) # => 3.14