Rubyリファレンス: Home

class_variable_get (Module)

Edit   History

標準クラス・モジュール > Module > class_variable_get

mod.class_variable_get(name)

class_variable_getメソッドは、クラスやモジュールのクラス変数の値を返します。引数nameには変数名を:@@name"@@name"のようにシンボルか文字列で渡します。存在しないクラス変数名を渡すと、例外NameErrorが発生します。

そのクラスだけでなく、親クラスやインクルードしたモジュールのクラス変数の値も取得できます。

class Product
  @@product_count = 12
end
class Book < Product
  @@book_count = 34
end
 
p Book.class_eval { class_variable_get(:@@product_count) }
p Book.class_eval { class_variable_get(:@@book_count) }
12
34

詳細

Ruby 1.9 class_variable_getはRuby 1.8ではprivateなメソッドですが、Ruby 1.9ではpublicなメソッドになりました。

関連項目