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
1 ответ
Решение
Ваш код в порядке и показывает ожидаемое поведение в стандартной среде Lua, такой как Lua Online Demo.
bar
bar
foo
bar
Так что либо есть проблема со средой, в которой вы запускаете этот скрипт, либо есть разница между кодом, который вы разместили здесь, и кодом, который вы запускаете на нашей машине.