Ruby勉強

インターネットの企画職な人がプログラミングを勉強するブログ

Rubyクラス変数 - Silver/Gold試験対策

クラス変数は、クラス内だとどこでも参照できて、 継承したクラスでも参照・代入ができる。

class A
  @@a = 0
  puts @@a
end #=> 0

A.class_variable_get(:@@a) #=> 0, クラス変数を参照するゲッターメソッド

class B
  @@b = 0
  def hoge
    puts @@b
  end
end
B.new.hoge #=> 0, インスタンスメソッド内からも参照できる


class C < B
  @@b += 1
end
C.new.hoge #=> 1
B.new.hoge #=> 1

module D
  @@d = 1
end

class E
  include D
  puts @@d
end #=> 1