From: "松田 明" Date: 2008-12-04T19:09:57+09:00 Subject: [ruby-list:45693] Re: クラスメソッド どうも。松田です。 >> 派生した質問なのですが、最初の河村さんの例のようにクラスで >> はなくクラス名の文字列から >> そのクラスのインスタンスを取得することもできるのでしょうか。 >> 自分に思いつくのはevalくらいですがもうちょっとスマー >> トな解があれば教えて下さい。 > > Module#const_getをどうぞ。 > ただし、これはネストした定数には対応していないのでイディオ > ムを使います。 相澤さんはきっとRailsアプリな環境に違いないと思うので、 Rails厨的な別解をば。 >> "XClass".constantize => XClass >> "Test::Unit".constantize => Test::Unit >> "x_class".camelize.constantize => XClass >> "x_classes".classify.constantize => XClass ふつうのconst_getと何がちがうの? というあたりについては、 active_support/inflector.rb のソースをご覧ください。 -- Akira Matsuda