クラス変数とクラスインスタンス変数の違い
クラス変数は継承される。
クラスインスタンス変数は継承されない。
# coding: utf-8 class Foo # クラス変数 @@var1 = 123 # クラスインスタンス変数 @var2 = 456 def self.var1 @@var1 end def self.var2 @var2 end end class Bar < Foo end p Foo.var1 p Bar.var1 p Foo.var2 p Bar.var2
実行結果は
123 123 456 nil
となる。