0
有没有办法通过使用对象ID来获取当前分配给对象的变量名?如何获取在Ruby中分配对象的变量名?
class Example
end
ex1 = Example.new
ex1.object_id
> 70184576592420
ex2 = ex1
,也许会是这个样子:
obj_id(70184576592420).var_names
> [ex1, ex2]
有没有办法通过使用对象ID来获取当前分配给对象的变量名?如何获取在Ruby中分配对象的变量名?
class Example
end
ex1 = Example.new
ex1.object_id
> 70184576592420
ex2 = ex1
,也许会是这个样子:
obj_id(70184576592420).var_names
> [ex1, ex2]
我将延长@ sagarpandya82答案:
local_variables.select do |e|
binding.local_variable_get(e).object_id == 70184576592420
end
#=> [:ex2, :ex1]
只是local_variables
返回所有局部变量的列表。
你想要什么?你期望看到它是否在数组或散列中被引用? – jonrsharpe