尝试索引零值

时间:2014-12-14 14:36:18

标签: map lua lua-table

这里初学者到Lua(和编程)。我试图创建一个表并用随机整数填充它,但我继续得到"尝试索引一个零值"错误。我以前忽略了定义表格地图,所以当我在这里搜索时,我找到了解决方案并添加到map = { }中。不幸的是,这并没有解决问题。

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

到目前为止,这是我的代码:

map = { }

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

2 个答案:

答案 0 :(得分:4)

问题是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

答案 1 :(得分:2)

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

map = { }

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