すべてのクラスの基底クラスである Object クラスに instance_variables
メソッドがあり、これでインスタンス変数名のシンボルを配列として取得することができます。
lang
1class SomeClass
2 def initialize
3 @foo = "Hello"
4 @bar = 1
5 end
6end
7
8obj = SomeClass.new
9p obj.instance_variables # [:@foo, :@bar]
さらにその変数の値も欲しい場合は instance_variable_get
メソッドを使います。
lang
1obj.instance_variables.each {|sym|
2 puts("#{sym} = #{obj.instance_variable_get(sym)}")
3}
4# @foo = Hello
5# @bar = 1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。