我在Ruby 1.8.7的Rails应用程序中有一些实现为装饰器的类。我不断收到警告 - warning: already initialized constant ABC
。这里ABC是常数的名字。正确的方法来检查是否已经在Ruby类中定义了一个常量
为了解决这个问题,我使用了answer中建议的const_defined?方法。
我的疑问是 - 是const_defined?
正确的方法来检查类常量是否已经在ruby中定义?我清楚地看到它可以用来检查模块常量。
我能够看到defined?
方法也可以用在这个answer中提到的方法。我试图查找defined?
的文档,但到目前为止我没有看到基于我的搜索的文档链接。
我不确定在两者中选择哪一个,因为在这一点上我看不出两者之间有明显差异。
请问一个人可以建议哪种最适合在这种情况下使用,为什么?
这可以帮助:http://stackoverflow.com/q/3398590/477037 – Stefan 2014-09-01 15:11:40