弱参考有不同的object_id?



为什么对象的弱引用与对象本身具有不同的object_id?

主要

obj = {}
weakobj = WeakRef.new(obj)
puts weakobj.object_id
puts obj.object_id

输出

22206940
22207020

为什么这两个数字不同?

因为它们都是不同的对象。 从控制台(如obj.classweakobj.class(检查objweakobj的类。你会看到差异。

>objweakobj都是对象。 它们不是同一个对象。 并且两个不同的对象不能共享一个 ID

最新更新