Rubyリファレンス: Home

remove_instance_variable (Object)

Edit   History

標準クラス・モジュール > Object > remove_instance_variable

private

remove_instance_variable(name)

remove_instance_variableメソッドは、オブジェクトからインスタンス変数を削除します。引数nameにはインスタンス変数の名前を:@title"@title"のようにシンボルか文字列で渡します。戻り値は削除した変数の値です。

存在しないインスタンス変数名を渡したときは例外NameErrorが発生します。

remove_instance_variableprivateなメソッドなので、外部からは呼び出せません。次の例ではinstance_evalのブロックを使って呼び出しています。

class Book
  attr_accessor :title
  def initialize(title)
    @title = title
  end
end
 
book = Book.new("Programming Ruby")
puts book.title
book.instance_eval { remove_instance_variable(:@title) }
puts book.instance_variable_defined?(:@title)
Programming Ruby
false

関連項目