Ruby 1.8.7 にある Rails アプリでデコレーターとして実装されている特定のクラスがあります。警告が表示され続けます - warning: already initialized constant ABC
。ここで、ABC は定数の名前です。
これを解決するために、const_defined?を使用しています。この回答で提案されている方法。
私の疑問はconst_defined?
、クラス定数がすでにルビーで定義されているかどうかを確認する正しい方法ですか? モジュール定数のチェックに使用できることがはっきりとわかります。
この回答defined?
で述べたように、この方法も使用できることがわかりました。のドキュメントを検索しようとしましたが、これまでの検索ではドキュメントへのリンクが見つかりません。defined?
現時点では明確な違いが見られないため、どちらを選択すればよいかわかりません。
この状況でどちらを使用するのが最適か、またその理由を教えてください。