0

似乎当我从函数返回表时,我丢失了它们的键。不确定这是否是 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
4

1 回答 1

1

您的代码没有问题,并且在Lua Online Demo等标准 Lua 环境中显示了预期的行为。

 bar
 bar 
 foo
 bar

因此,您运行该脚本的环境存在问题,或者您在此处发布的代码与您在我们的机器上运行的代码之间存在差异。

于 2018-03-20T13:09:11.000 回答