[#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:47018] [Q] instance_eval 中でのクラス変数のアクセス
From:
swec@...
Date:
2010-04-15 03:13:55 UTC
List:
ruby-list #47018
東です。
ぼちぼちと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 中でクラス変数をアクセスするポータブルな方法は
あるのでしょうか?
--
ひろひと