谁能解释以下行为:
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 { ... }
?
谁能解释以下行为:
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 { ... }
?