Ruby中类变量可以在method外和method内定义,可以被继承;而实例变量只能在(实例)method中定义,且不可以被继承。
实验代码如下:
class P
@@cv1=1
@var1=11
def mp
@@cv2=2
@var2=22
puts @var1,@var2,@@cv1,@@cv2
end
end
p=P.new
p.mp
class C<P
def mc
puts @var1,@var2,@@cv1,@@cv2
end
end
c=C.new
c.mc
输出如下: