Lua表在函数返回中的键值的变化

似乎当我从函数中返回一个表时,我会失去它们的键值。不确定这是否是Lua应该的功能。

例如

function main()
  local someTable = {}
  someTable["foo"] = "bar"
  print(someTable["foo"])
  return someTable
end

local test = main()
print(test["foo"])
for k, v in pairs(test) do
  print(k, v)
end

bar
nil
1 bar
点赞
用户2858170
用户2858170

你的代码运行良好,在标准的 Lua 环境(例如 Lua Online Demo)中展示了预期的行为。

bar
bar
foo
bar

因此,要么你正在运行该脚本的环境存在问题,要么你在这里发布的代码与你在本地机器上运行的代码存在差异。

2018-03-20 13:09:11