1

誰でも次の動作を説明できますか:

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 { ... }

4

1 に答える 1

1
于 2013-08-17T23:04:00.877 に答える