gpt4 book ai didi

ruby - 检查常量是否已在 Ruby 类中定义的正确方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:54 24 4
gpt4 key购买 nike

我在 Ruby 1.8.7 上的 Rails 应用程序中将某些类实现为装饰器。我不断收到警告 - warning: already initialized constant ABC 。这里 ABC 是常量的名称。

为了解决这个问题,我使用了 const_defined? answer中建议的方法.

我的疑问是 - const_defined? 是检查类常量是否已在 ruby​​ 中定义的正确方法吗?我清楚地看到它可以用来检查模块常量。

我能够看到 defined? 方法也可以按照 answer 中的说明使用.我试图查找 defined? 的文档,但根据我目前的搜索,我没有看到指向其文档的链接。

我不确定在两者中选择哪一个,因为目前我看不出两者之间有明显的区别。

有人可以建议在这种情况下最好使用哪种吗?为什么?

最佳答案

关键字 defined? 已记录 here .

最好问它是否是常量,如果重要的是它是常量,则使用const_defined?。如果您只关心它是否已定义,则使用关键字 defined?

关于ruby - 检查常量是否已在 Ruby 类中定义的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com