はじめまして、時田と申します。 ruby初めて2週間程度でしょうか まだまだ勉強中です。 なにぶん、使いはじめなので間違いなどありましたらご指摘のほどよろしく :-) From: Wakou Aoyama <wakou / fsinet.or.jp> Subject: [ruby-list:19089] Re: reference of object Date: Wed, 1 Dec 1999 22:31:25 +0900 > 青山です。 > > On Wed, 1 Dec 1999 18:17:15 +0900, > "Hideaki Takata" <hideakit / d3.dion.ne.jp> wrote: > > > Rubyでオブジェクトの名称を内容として持つStringというのは作れるのでしょうか? > > つまり、object-name = "object_a"などというストリングがあったとき、 > > object_a.methodなどいう呼び出しをしたいのですが。 んー、perlなら 変数を展開して変数名として扱えるって事ですよね > String の内容を変数名としてという事は、eval でしょう。 > > print eval(object_name) > print "value of #{object_name} is #{eval(object_name)}" > print "value of #{object_name} is #{eval(object_name).inspect}\n" 基本的に実行結果の表示、実行結果の文字列埋め込みですね。 ちょっと やりたいことと違うような気もしますが 変数を変数名に展開する機能がないなら 単純に 連想配列じゃ駄目なんでしょうか? [ktokita@ibis ktokita]$ eval.rb ruby> object_a="Hello world!\n" "Hello world!\n" ruby> object_name="object_a" "object_a" ruby> object={} {} ruby> object[object_name]=object_a "Hello world!\n" ruby> print object[object_name] Hello world! nil ruby> ただ、同じシチュエーションを使えないってだけの気がします。 PS: あ、あんばさんだぁ なっつかしー 日本語マインドはもう使ってないのかな? :-) -- 時田幸粋 E-mail: ktokita / ma.neweb.ne.jp URL : http://www1.neweb.ne.jp/wa/ktokita