(Ruby)クラス名文字列から動的にインスタンスを生成するメタな話
久しぶりにブログ書いてる。8月以来 orz
以前にJavaでリフレクションと呼ばれる機能で動的にクラス(正確にはメソッドかな?)のインスタンスを作ってました。
特に用があった訳ではなかったのだけど、Rubyでどうやるんだろと思って調べてみました。 これがなぜだかあまり情報なくて「あれ?」って感じでした。
そんな人も他にいるだろうと思いここに書いておきます。
class Hello def say puts "Hello!" end end class Goodbye def say puts "Goodbye" end end Object.const_get("Hello").new.say # Hello! Object.const_get("Goodbye").new.say # Goodbye!
とても便利だと思うんだけどなあ。 あと、「Object.const_get」ってのもなんだかRubyらしくない感じが。。。