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

Так что либо есть проблема со средой, в которой вы запускаете этот скрипт, либо есть разница между кодом, который вы разместили здесь, и кодом, который вы запускаете на нашей машине.

Другие вопросы по тегам