この間、C+Rubyで半分必須・半分遊びで作っているライブラリ(研究で必要な(?)実装を、趣味で使いたい技術を使って実装してる)の実装中、Rubyでクラス名を表す文字列からそのクラスのインスタンスを生成する必要が出てきたんだけど、ちょっとはまったのでそのメモ。 こんな感じのクラス群を定義したんだ。 class Base def initialize(name, data) ... end end class C1 < Base def initialize(name, data) super(name, data) ... end end class C2 < Base ... initializeの引数のnameにはRubyのString型、dataには自分が定義したクラスのインスタンスが与えられると想定している。スーパークラスとしてBaseがあり、それを継承するサブクラスがいくつもある