概要
Object#instance_variable_set(var, value) -> object
詳細
オブジェクトのインスタンス変数に var を設定。
サンプルコード
require 'tbpgr_utils' class Person attr_reader :name, :age def initialize(options = {name: nil, age: nil} ) @name = options[:name] @age = options[:age] end end unknown = Person.new bulk_puts_eval binding, <<-EOS unknown.instance_variable_set('@name', 'tanaka') unknown.instance_variable_set('@age', 24) unknown.instance_variable_set('@power', 35) unknown.instance_variable_get('@name') unknown.instance_variable_get('@age') unknown.instance_variable_get('@power') unknown EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval https://rubygems.org/gems/tbpgr_utils https://github.com/tbpgr/tbpgr_utils
出力
$ ruby object_instance_variable_set.rb unknown.instance_variable_set('@name', 'tanaka') # => "tanaka" unknown.instance_variable_set('@age', 24) # => 24 unknown.instance_variable_set('@power', 35) # => 35 unknown.instance_variable_get('@name') # => "tanaka" unknown.instance_variable_get('@age') # => 24 unknown.instance_variable_get('@power') # => 35 unknown # => #<Person:0x00000600b27c70 @name="tanaka", @age=24, @power=35>