樽石です。

At Wed, 23 Sep 1998 23:36:54 +0900,
Keiju ISHITSUKA <keiju / Rational.Com> wrote:

> >clazz = eval("NewClass")
> >obj = clazz.new
> >
> >一行だと
> >
> >obj = eval("NewClass").new
> >
> >とかはどうでしょう?
> 
> 何かちょっと違うみたいですね.

上のやり方でやりたいことはできましたが…

> clazz = eval("class NewClass; end")
> obj = clazz.new
> 
> ですね.
> 
> あと,
> 
> clazz = Class.new
> obj = clazz.new
> 
> でも. OKです. ただ. これだと名無しのクラスになっちゃいます. Rubyの場合
> 名前無しのクラスでも問題ないと思いますが, どうしても名前を付けたければ...
> 
> Rubyの場合クラスの名前 == クラス定数名 なので適当なクラス定数に代入す
> ることによってクラス名をつけることができます.
> 
> NewClass = Class.new
> obj = class.new
> 
> ただ, これだと文字列でクラス名を設定したことになりませんので:
> 
> Object.const_set("NewClass", Class.new)
> obj = NewClass.new
> 
> って感じかな... 

うーん、質問があいまいすぎたかもしれません。
#そのためにJavaで記述したけど…rubyMLにJavaはだめ?
ようは動的にクラス型を決めたかったのです。
上の方法だと結局クラス名が静的に決まってしまうので
うまくいかない気がします。
ただ、クラスの名前 == クラス定数名は参考になりました。
ありがとうございます。

----
Masato Taruishi <taruis-m / jed.uec.ac.jp> | University of Electro Comunications
                <taru / debian.or.jp>      |   Department of Computer Science
                <taru / sunicom.co.jp>     |              Junior
http://www.sunicom.co.jp/~taruisma/      |      Chofu city Tokyo, JAPAN  
   Key fingerprint = 49 46 74 E1 8D D1 EB 56  8D CA 2A 20 14 9E A9 25