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 回答