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