今天我偶然发现了 Ruby 常量的一个棘手问题。在我们的团队中,有人创建了一个包含在多个模型中的模块。在我们的(spec)测试输出中,这个结果会变成警告消息,比如:
/home/ayrton/project/lib/life _ Cycle. rb: 5: 警告: 已初始化 常数重置
解决这个问题的一个方法是,像这样声明你的常量:
module LifeCycle
unless (const_defined?(:RESET))
RESET = 'reset'
end
#...
end
我也读过一篇由 Avdi Grimm 撰写的博文,它提供了另一种 解决方案,我想知道你对此事有什么看法。