我最近一直在 Lua 中查找链接列表,并且有一个快速的问题,到目前为止我还没有找到答案
local head = nil
head = {next = head, value = "d"}
head = {next = head, value = "c"}
head = {next = head, value = "b"}
head = {next = head, value = "a"}
local entry = head
while entry do
print(entry.value)
entry = entry.next
end
这将最终打印出“a,b,c,d”。我理解为什么它会向后打印,因为第一个可用的“节点”将是最后一个创建的节点(值 = a)。我的问题是为什么在最后一个之前创建的'head'仍然存在并且没有简单地在内存中被覆盖。