【发布时间】:2019-05-31 08:19:08
【问题描述】:
几年后我正在重新学习编程,我目前专注于 C# 和 Lua。我用于 Lua 的书有一个链接列表的示例,但我很难理解它是如何工作的。
list = nil
for line in io.lines() do
list = {next = list, value = line}
end
如果我没看错
- 它正在创建一个新表
- 将列表分配给该表,将“下一个”键/标识符(正确的术语?)设置为指向列表(在第一个创建的表处仍为 nil)
- 然后将“值”键/标识符设置为读取的内容
- 那么“列表”现在实际上指向的是新创建的表
然后在循环的下一次运行中
- 创建下一个表
- 将“next”键/标识符设置为指向列表(现在指向之前创建的表)
- 然后将“值”键/标识符设置为读取的内容
- 那么“列表”现在实际上指向新创建的表...再次
我只是想确定我完全理解它是如何工作的,因为列表正在尝试创建一个表并指向它当前指向的任何内容似乎有点奇怪/奇怪,就在该行的执行完成之前并且列表已更新为指向最新创建的表。
或者我离这里很远?
【问题讨论】:
标签: lua linked-list