Lua table 按键功能变化 return

Lua table keys changes in function return

似乎当我从函数中 return 一个 table 时,我丢失了它们的键。不确定 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

您的代码没有问题,并且在标准 Lua 环境(如 Lua Online Demo.

中显示了预期的行为
 bar
 bar 
 foo
 bar

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