Rubyリファレンス: Home

instance_variable_set (Object)

Edit   History

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

obj.instance_variable_set(name, val)

instance_variable_setメソッドは、レシーバのインスタンス変数に値を設定します。引数nameにはインスタンス変数の名前を:@title"@title"のようにシンボルか文字列で渡します。引数valには変数に設定する値を渡します。戻り値は設定した値です。

定義されていない変数名を渡すと新しいインスタンス変数が作られます。:titleのようにインスタンス変数と見なされない名前を渡すと例外NameErrorが発生します。

class Book
  attr_reader :title
  def initialize(title)
    @title = title
  end
end
 
book = Book.new("Programming Ruby")
book.instance_variable_set(:@title, "Programming Ruby 1.9")
p book.title
"Programming Ruby 1.9"

関連項目