Я очень новичок в Lua, и я пытаюсь глобально инициализировать таблицу в самом начале моей программы. В верхней части, у меня есть:Инициализация и использование глобальной таблицы
storage = {}
Тогда, я хочу, чтобы перебрать элементы в этой таблице внутри функций в одном файле. Одним из примеров является:
local output
for item in storage do
output = output .. item
end
return output
В этом случае, я получаю:
attempt to call a nil value
На линии, начиная с for
.
Я также пробовал распечатать storage[1]
. В этом случае я получаю:
attempt to index local 'storage' (a nil value)
Может кто-нибудь объяснить простым языком, что здесь может быть неправильным?
Вы инициализируете эту переменную 'storage' в том же файле, что и код, пытающийся ее использовать? Если вы не попадаете в границы модулей? В какой среде вы используете lua? –
Возможно, вы захотите взглянуть на синтаксис for-loop. Он ожидает три значения: вызываемый, контекст и ключ запуска. 'pairs' возвращает такой ... – Deduplicator
Инициализируется в том же файле. Он находится в пределах настраиваемой структуры, но я скопировал структуру точно. Я изменил его на 3-значение для цикла, и я получаю 'попытку получить длину локального хранилища '(значение nil)' – James