[#46993] ASCII 文字の連続性について — "Hideo Konami" <konami@...>
小波です.
7 messages
2010/04/03
[#47005] 汎用の最大・最小オブジェクト(番兵) — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
1 message
2010/04/08
[#47006] ファイル作成時の作成日時について — 染谷 康一 <kouichi_someya@...>
染谷と申します。
11 messages
2010/04/12
[#47007] Re: ファイル作成時の作成日時について
— "U.Nakamura" <usa@...>
2010/04/13
こんにちは、なかむら(う)です。
[#47018] [Q] instance_eval 中でのクラス変数のアクセス — swec@...
東です。
6 messages
2010/04/15
[ruby-list:47019] Re: [Q] instance_eval 中でのクラス変数のアクセス
From:
Sora Harakami <sora134@...>
Date:
2010-04-15 04:53:49 UTC
List:
ruby-list #47019
ソラです。 Module#class_variable_getではどうでしょう。 p c.class.class_variable_get(:"@@class_var1") 2010/4/15 <swec@youko-house.ne.jp>: > 東です。 > > ぼちぼちとRubyを使っていますが、また躓いてしまいまして、 > 先達のお知恵を拝借したいと思いメールしました。 > > > 「やりたいこと」 > instance_eval の中で、クラス変数をアクセスしたい。 > > > 「テストコード」 > class Class1 > @@class_var1 = "c1" > > def initialize() > @instance_var1 = "i1" > end > > def func1() > p @instance_var1 > p @@class_var1 > end > end > > c = Class1.new > c.instance_eval do > func1() > p @instance_var1 > p @@class_var1 > end > > このコードを実行すると、instance_evalブロック中、func1()の呼出は > 成功するのに、p @@class_var1 は、以下のエラーでNGでした。 > uninitialized class variable @@class_var1 > > > それではと、 > Class1.class_eval do > c.instance_eval do > func1() > p @instance_var1 > p @@class_var1 > end > end > > このようにコードを変更したところ、ruby1.9.1ではOKで、 > ruby1.8.7では同じエラーです。 > > 上の変更が適正なものかも、私には定かではないですが、 > instance_eval 中でクラス変数をアクセスするポータブルな方法は > あるのでしょうか? > > -- > ひろひと > > -- Sora Harakami - sora134[at]gmail.com Blog: http://codnote.net/ Twitter: http://twitter.com/sora_h Skype: sora_harakami