任何解释这一点的 Ruby 大师?
class Bar
@@x = 10
def self.test
return @@x
end
end
class Foo < Bar
@@x = 20
end
puts Bar.test # 20 why not 10?
puts Foo.test # 20
当我从 TextMate 运行它时。我希望
puts Bar.test returns 10
和
puts Foo.test returns 20
但出于某种原因(我很想知道)Foo 中的@@x 也更新了 Bar,这是超类。我错过了什么?