尝试对一个空值进行索引。

新手学习 Lua(和编程)中。我正在尝试创建一个表并用随机整数填充它,但是我不断收到“尝试索引空值”错误。我之前忽略了定义表map,因此当我浏览这里时,我找到了解决方案,并添加了map = {}。不幸的是,这并没有解决问题。

我怀疑循环正在尝试将随机值放入一个未定义的表中,这是不可能的。那么我该如何将任意数量的随机数放入表中?

这是迄今为止我的代码:

`` ` map = {}

for k = 1, 20 do     for l = 1, 5 do         map[k] [l] = math.random(0,3)     end end

`` `

点赞
用户142162
用户142162

问题在于 map[k] 最初是空的。为了得到预期的结果,如果不存在,请在该索引处创建一个表:

map = { }

for k = 1, 20 do
    for l = 1, 5 do
        if not map[k] then
            map[k] = {}
        end
        map[k][l] = math.random(0,3)
    end
end
2014-12-14 14:41:39
用户2060502
用户2060502

我会提供一个更简单的版本:

map = {}

for k = 1, 20 do
    map[k] = {}
    for l = 1, 5 do
        map[k][l] = math.random(0, 3)
    end
end
2014-12-15 09:03:21