我注意到类变量@@ my_class var现在在Ruby 1.9.1中的instance_eval'd对象的上下文中被查找,而在Ruby 1.8.6中却不是这样。
Ruby 1.9.1的instance_eval行为有哪些其他差异?
答案 0 :(得分:1)
我不能列出所有内容,但我知道常量查找有一些变化。在1.8中,常量查找在调用者范围内,而在1.9范围内的块范围内。
FOO = "hi"
class Something
FOO = "bye"
def self.handle(&block)
instance_eval(&block)
end
end
p Something.handle { FOO }
# "hi" on 1.8, "bye" on 1.9
答案 1 :(得分:0)
我认为[至少目前]也不会回归自我。