【发布时间】:2014-12-14 12:27:56
【问题描述】:
得到一个这样的列表:
people[i][j]
其中 i 和 j 都从 0 缩放到 n。
每个条目看起来像:
people[1][1] = {genome = 0x000000, immune = 0, healing = 0}
现在我正在遍历人员并检查每个邻居,例如:
if people[i][j+1] then ....
if people[i][j-1] then ....
if people[i+1][j] then ....
if people[i-1][j] then ....
但是那些站在阵列边缘的人,在一两个方向上没有邻居,这是我的问题。
尝试索引字段“?” (零值)
我知道为什么会出现这个错误,但我现在知道如何在我的场景中解决这个问题。
(顺便说一句:我正在尝试解决这个难题,也许这些信息可以帮助您理解我的情况 由于我必须检查邻居。 https://codegolf.stackexchange.com/questions/38446/be-an-epidemiologist)
有 n *4 - 4 个条目只有 3 个和 4 个条目只有 2 个邻居。我可以将它们存储在一个额外的列表中,我可以在其中使用其他检查程序,但我想这将是一个非常糟糕的解决方案。 此外,适当的性能在这里是一个大问题。 (假设 n 为 1000,则 4 次检查每次抽签必须进行 1000² 次,一次又一次抽签。
【问题讨论】:
标签: arrays list multidimensional-array lua