(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らしくない感じが。。。