[#39989] TCPSocket.new でスレッドが止まる。 — take_tk <ggb03124@...>

たけ(tk)です。

15 messages 2004/09/02

[#40018] yaml.rbとdate.rbを組み合わせて使った際の問題 — "Keisuke Minami" <keisuke@...>

こんにちは。三並と申します。

14 messages 2004/09/07
[#40020] Re: yaml.rbとdate.rbを組み合わせて使った際の問題 — IWATSUKI Hiroyuki <don@...> 2004/09/07

岩月と申します。

[ruby-list:40026] Re: 動的なクラス名

From: Minero Aoki <aamine@...>
Date: 2004-09-07 09:51:17 UTC
List: ruby-list #40026
青木です。

  In mail "[ruby-list:40021] 動的なクラス名"
    "fuji@ftserve.net" <fuji@ftserve.net> wrote:

> 藤岡です。
> 
> ふと思ったのですが、String型に入っているクラス名で
> クラスを呼び出すことは可能なのでしょうか?

> class Fuji1
>   def initialize
>     puts "fuji1"
>   end
> end
> class Fuji2
>   def initialize
>     puts "fuji2"
>   end
> end
> classname="Fuji1"
> classname.new

  eval(classname).new

または

  Object.const_get(classname).new

でできます。ただし const_get だとネストしたクラス (Net::HTTP
みたいなやつ) のときにもう一工夫必要になります。セキュリティが
重要でない環境なら eval が手っ取り早くていいんじゃないでしょうか。
-------------------------------------------------------------------
青木峰郎

In This Thread