Map 尝试索引nil值
这里是Lua(和编程)的初学者。我试图创建一个表,并用随机整数填充它,但我一直遇到“尝试索引一个nil值”错误。我以前忽略了定义表映射,所以当我在这里搜索时,我找到了该解决方案并添加了Map 尝试索引nil值,map,lua,lua-table,Map,Lua,Lua Table,这里是Lua(和编程)的初学者。我试图创建一个表,并用随机整数填充它,但我一直遇到“尝试索引一个nil值”错误。我以前忽略了定义表映射,所以当我在这里搜索时,我找到了该解决方案并添加了map={}。不幸的是,这并没有解决问题 我怀疑循环试图将随机值放入未定义的表中,这是不可能的。然后,我如何将任意数量的随机数放入表中 以下是我目前的代码: map = { } for k = 1, 20 do for l = 1, 5 do map[k][l] = math.random
map={}
。不幸的是,这并没有解决问题
我怀疑循环试图将随机值放入未定义的表中,这是不可能的。然后,我如何将任意数量的随机数放入表中
以下是我目前的代码:
map = { }
for k = 1, 20 do
for l = 1, 5 do
map[k][l] = math.random(0,3)
end
end
问题是
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
我将提供一个更简单的版本:
map = { }
for k = 1, 20 do
map[k] = {}
for l = 1, 5 do
map[k][l] = math.random(0,3)
end
end
注意,您也可以通过执行
map[5*(k-1)+l]
将其填充为“平面”数组。