JavaでいうところのClass.forNameにあたるモノ。Rubyで文字列からクラスオブジェクトを取得するにはどうすればいいのか。ぶっちゃけeval使えば良いんだけど…
class Hoge def a p "hogehoge" end end hogeClass = eval("Hoge") hogeClass.new.a # "hogehoge"と表示
しかしevalは安全性に問題。自分で安全にクラスオブジェクトを取得できるようにチェックコードを書くしかなさそうだが、ま、簡単だね。
追記
ツッコミ頂きました。Kernel.const_getを使ってクラスを取得できるそうです。
クラス名からクラスを得ることはできますか
なるほど…マニュアルはちゃんと読まないとダメですね。