【发布时间】:2015-01-29 08:51:22
【问题描述】:
看下面的例子:
local t = {}
t[1] = function() return 3 end
t[2] = function() return 2 end
t[3] = 3
local a = t[1]
local b = t
t[1] = nil
collectgarbage("collect") --reclaim memory
print(a) --function
print(b[1]) -- nil
print(b[2]) --function
print(b[3]) --3
为什么我仍然可以打印 'a' 而不是 'b[1]'? 此外,我在 lua 参考手册中看到“垃圾收集器忽略了弱引用”。如何定义“忽略”?
【问题讨论】:
标签: lua garbage-collection reference-counting