類別 WeakRef
弱參考類別,允許將參考物件進行垃圾回收。
WeakRef
可完全像它所參考的物件一樣使用。
用法
foo = Object.new # create a new object instance p foo.to_s # original's class foo = WeakRef.new(foo) # reassign foo with WeakRef instance p foo.to_s # should be same class GC.start # start the garbage collector p foo.to_s # should raise exception (recycled)
常數
- VERSION
公開類別方法
new(orig) 按一下以切換來源
建立對 orig
的弱參考
呼叫超類別方法
Delegator::new
# File lib/weakref.rb, line 34 def initialize(orig) case orig when true, false, nil @delegate_sd_obj = orig else @@__map[self] = orig end super end
公開執行個體方法
weakref_alive?() 按一下以切換來源
如果參考物件仍然存在,則傳回 true。
# File lib/weakref.rb, line 55 def weakref_alive? @@__map.key?(self) or defined?(@delegate_sd_obj) end