当我们在ruby中使用大写字母时,它是一个常数:CONSTANT = "alive"
。当我修改这个“假定”常量时,它会给出一个错误,但无论如何都会修改它:
(irb):27: warning already initialized constant CONSTANT
=> "13"
。
这似乎是一种奇怪的行为。如果我正在设计游戏并且需要值保持不变,请说:Cheatcode_health = true
,并且偶然将值指定为false
或0
,这将是一种不寻常的行为。可能会有很多含义。简而言之,Ruby中有一个真正的常量吗?
答案 0 :(得分:2)
Ruby是一种非常宽松的语言。如果重新分配常量,则无法引发错误。
唯一的解决方法是创建一个自定义方法来为常量赋值,并让此方法为您进行检查。
其他相关问题: