誰でも次の動作を説明できますか:
class X
@@x = 1
end
X.class_eval { @@x } #=> NameError: uninitialized class variable ...
X.class_eval { class_variable_get :@@x } #=> 1
MRI 1.8.7、1.9.2、1.9.3、および 2.0.0 でテストされ、同じ結果が得られました。ここでブロック@@x
内から直接使用できないのはなぜですか?X.class_eval { ... }