Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Object | instance_variable_get

概要

Object#instance_variable_get(var) -> object | nil

詳細

オブジェクトのインスタンス変数の値を取得して返却。
インスタンス変数が定義されていなければ nil を返却。

サンプルコード
require 'tbpgr_utils'

class Person
  attr_reader :name, :age
  def initialize(name, age)
    @name, @age = name, age
  end
end

tanaka = Person.new("tanaka", 24)

bulk_puts_eval binding, <<-EOS
tanaka.instance_variable_get('@name')
tanaka.instance_variable_get('@age')
tanaka.instance_variable_get('@power')
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

$ ruby object_instance_variable_get.rb
tanaka.instance_variable_get('@name')  # => "tanaka"
tanaka.instance_variable_get('@age')   # => 24
tanaka.instance_variable_get('@power') # => nil