我想在 Ruby 中定义 2 个常量,以便第二个依赖于第一个。这是我正在做的事情:
class MyClass
MY_CONST = [
:aaa,
:bbb,
:ccc
]
MY_CONST2 = self::MY_CONST << :ddd
end
但是,出于某种原因,下面的代码会打印第二个常量的值。
puts MyClass::MY_CONST
puts '------------------'
puts MyClass::MY_CONST2
##################
aaa
bbb
ccc
ddd
------------------
aaa
bbb
ccc
ddd
为什么?除了将它们定义为之外,还有什么方法可以摆脱它def
?
def self.my_const
[:aaa, :bbb, :ccc]
end
def self.my_const2
self::my_const << :ddd
end