Rubyリファレンス: Home

const_get (Module)

Edit   History

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

mod.const_get(name)

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

親クラスやインクルードしたモジュールで定義されている定数の値も取り出すことができます。

class Product
  TAX_RATE = 0.05
end
class Book < Product
end
 
p Product.const_get(:TAX_RATE)
p Book.const_get(:TAX_RATE)
0.05
0.05
mod.const_get(name [, inherit = true])

Ruby 1.9 Ruby 1.9では、const_getの第2引数にfalseを渡すと、定数がそのクラスで定義されているときだけ値を返すようになります。親クラスやインクルードしたモジュールの定数を指定すると例外NameErrorが発生します。

class Product
  TAX_RATE = 0.05
end
class Book < Product
end
 
p Book.const_get(:TAX_RATE, false) rescue p $!
#<NameError: uninitialized constant Book::TAX_RATE>

関連項目