可变范围和可见性
类变量在类层次结构中共享。这可能导致令人惊讶的行为。
class A
@@variable = :x
def self.variable
@@variable
end
end
class B < A
@@variable = :y
end
A.variable # :y
类是对象,因此实例变量可用于提供特定于每个类的状态。
class A
@variable = :x
def self.variable
@variable
end
end
class B < A
@variable = :y
end
A.variable # :x