defined?(Object.const_get('Array')) と defined?(Array) が違う理由について
"Array"
という文字列からクラス名としての定数を取得する時に
Object.const_get('Array')
としていたのですが、defined?
で確認した時に返される値が異なっていました。
defined?(Object.const_get('Array'))
#=> "method"
defined?(Array)
#=> "constant"
これはObject.const_get
自体の判定をしてしまっているのだと思うのですが、
クラス名を表す文字列から該当のクラスが定義済みであるかどうかはどう判断すればいいでしょうか?