初始化和使用全局表

我对Lua非常陌生,我试图在程序的最开始全局初始化一个表格。在顶部,我有:

storage = {}

然后,我想在同一文件中的函数内遍历此表格中的元素。一个例子是:

local output
for item in storage do
    output = output .. item
end
return output

在这种情况下,我收到:

尝试调用空值

在以 for 开头的那行上。

我还尝试打印出 storage[1]。在这种情况下,我收到:

尝试索引本地变量 'storage'(一个空值)

有人能简单地解释一下这里可能有什么问题吗?

点赞
用户1442917
用户1442917

你没有展示整个脚本,但很明显 storage 的值在初始化和在 for item in storage do 中使用之间被重置了,因为如果它保留了值,你会得到不同的错误:attempt to call a table value

你需要在循环中使用 ipairs 或者 pairs 函数 -- for key, item in pairs(storage) do -- 但首先你需要修复重置 storage 值的任何问题。

2015-01-19 16:53:12