Lua 进阶核心——弱表(weak table)
作用:不影响 GC,用于做缓存、对象池、事件监听,避免内存泄漏。三种模式:
[*]__mode = "k" 键弱引用
[*]__mode = "v" 值弱引用
[*]__mode = "kv" 键值都弱
[*]local wt = {}
setmetatable(wt, {__mode = "v"})
local obj = {data = "test"}
wt.ref = obj
obj = nil
collectgarbage()
print(wt.ref)--> nil
页:
[1]