【发布时间】:2014-10-25 20:19:20
【问题描述】:
我在我的 Rails 应用程序中实现了某些类作为装饰器,该应用程序位于 Ruby 1.8.7 上。我不断收到警告 - warning: already initialized constant ABC。这里 ABC 是常量的名称。
为了解决这个问题,我正在使用const_defined? 方法,正如answer 中所建议的那样。
我的疑问是 - const_defined? 是检查类常量是否已在 ruby 中定义的正确方法吗?我清楚地看到它可以用来检查模块常量。
我看到defined? 方法也可以像answer 中提到的那样使用。我试图查找 defined? 的文档,但到目前为止,我没有看到基于我的搜索的文档链接。
我不确定在两者中选择哪一个,因为我目前看不出两者之间的明显区别。
能否建议在这种情况下最好使用哪个?为什么?
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/q/3398590/477037
标签: ruby constants ruby-1.8.7 class-constants