From: rubikitch Date: 2001-09-19T21:36:38+09:00 Subject: [ruby-list:31535] Re: クラス名からインスタンスを作る方法 From: "MIYOKAWA, Nobuyoshi" Subject: [ruby-list:31534] クラス名からインスタンスを作る方法 Date: Wed, 19 Sep 2001 21:11:43 +0900 るびきちです。 > あるクラスの名前が分かっているとき、その名前に合致するクラ > スのインスタンスを作ることは可能でしょうか? evalはどうでしょう? > class_list = [ "Foo", "Bar", "Baz" ] irb(main):026:0> class Foo; end nil irb(main):027:0> class Bar; end nil irb(main):028:0> class Baz; end nil irb(main):029:0> hash = {} {} irb(main):030:0> class_list = [ "Foo", "Bar", "Baz" ] ["Foo", "Bar", "Baz"] irb(main):031:0> for name in class_list; hash[ name ] = eval( name ).new; end ["Foo", "Bar", "Baz"] irb(main):032:0> hash[ "Foo" ] # irb(main):033:0> hash[ "Bar" ] # irb(main):034:0> hash[ "Baz" ] # るびきち☆ http://voo.to/ruby/ ←Ruby大衆化計画(笑)