2017-04-15 83 views
0

有没有办法通过使用对象ID来获取当前分配给对象的变量名?如何获取在Ruby中分配对象的变量名?

class Example 
end 

ex1 = Example.new 

ex1.object_id 
    > 70184576592420 

ex2 = ex1 

,也许会是这个样子:

obj_id(70184576592420).var_names 
    > [ex1, ex2] 
+0

你想要什么?你期望看到它是否在数组或散列中被引用? – jonrsharpe

回答

4

我将延长@ sagarpandya82答案:

local_variables.select do |e| 
    binding.local_variable_get(e).object_id == 70184576592420 
end 
#=> [:ex2, :ex1] 

只是local_variables返回所有局部变量的列表。