defined?(Object.const_get('Array')) と defined?(Array) が違う理由について


`"Array"`という文字列からクラス名としての定数を取得する時に

[code]

    Object.const_get('Array')
    
[/code]

としていたのですが、`defined?`で確認した時に返される値が異なっていました。

[code]

    defined?(Object.const_get('Array'))
    #=> "method"
    defined?(Array)
    #=> "constant"
    
[/code]

これは`Object.const_get`自体の判定をしてしまっているのだと思うのですが、  
クラス名を表す文字列から該当のクラスが定義済みであるかどうかはどう判断すればいいでしょうか？




`Object.const_defined?` を使うのはどうでしょうか。

[code]

    Object.const_defined?(klass) and Object.const_get(klass).class == Class
    
[/code]




`Object.const_defined?` を使うのはどうでしょうか。

[code]

    Object.const_defined?(klass) and Object.const_get(klass).class == Class
    
[/code]

