標準クラス・モジュール > Module > constants
mod.constants
constants
メソッドは、クラスやモジュールで定義されている定数名の一覧を配列にして返します。一覧には親クラスやインクルードしたモジュールの定数も含まれます。
Ruby 1.9 Ruby 1.8では配列中の定数名は文字列ですが、Ruby 1.9ではシンボルになります。
Object
に対してconstants
メソッドを呼び出すと、トップレベルの組み込み定数名やクラス名が返ります。
class Product TAX_RATE = 0.05 end p Product.constants p Object.constants.sort[0, 10]
["TAX_RATE"] ["ARGF", "ARGV", "ArgumentError", "Array", "Bignum", "Binding", "Book", "Class", "Comparable", "Continuation"] (Ruby 1.8の場合)
[:TAX_RATE] [:ARGF, :ARGV, :ArgumentError, :Array, :BasicObject, :Bignum, :Binding, :Book, :Class, :Comparable] (Ruby 1.9の場合)
mod.constants(inherit = false)
Ruby 1.9 Ruby 1.9では、constants
の引数にtrue
を指定すると、親クラスやインクルードしたモジュールではなく、そのクラスやモジュールに定義されている定数名だけを返します。デフォルト値はfalse
なので、引数を省略するとすべての定数が返ります。
class Product TAX_RATE = 0.05 end class Book < Product end p Book.constants(false) p Book.constants
[] [:TAX_RATE]
constants
: 現在のスコープでの定数名の一覧を返す。const_defined?
: 定数があるか調べる。const_get
: 定数の値を得る。const_set
: 定数を設定する。remove_const
: 定数の削除。class_variables
: クラス変数名の一覧を返す。instance_methods
: インスタンスメソッド名の一覧を返す。instance_variables (Object)
: インスタンス変数名の一覧を返す。methods (Object)
: メソッド名の一覧を返す。global_variables (Kernel)
: グローバル変数名の一覧を返す。local_variables (Kernel)
: ローカル変数名の一覧を返す。