Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > class Module > remove_const (private)

instance method Module#remove_const

remove_const(name) -> object

name で指定した定数を取り除き、その定数に設定されていた値を 返します。

[PARAM] name:
String または Symbol を指定します。
[RETURN]
引数で指定された定数に設定されていた値を返します。
[EXCEPTION] NameError:
引数で指定された定数がそのモジュールやクラスに定義されていない場合に発生します。
class Foo
  FOO = 1
  p remove_const(:FOO)    # => 1
  p FOO     # => uninitialized constant FOO at Foo (NameError)
end

現在のところ組み込みクラス/モジュールを設定している定数や Kernel.#autoload を指定した(まだロードしてない)定数を削除 できないという制約があります。

class Object
  remove_const :Array
end
=> -:2:in `remove_const': cannot remove Object::Array (NameError)

[SEE_ALSO] Module#remove_class_variable, Object#remove_instance_variable