为什么我不能对这些表值进行算术运算? index
的键重定向到数值:
for q = 1, 42 do
horizontalwin = index [q] + index [q + 1] + index [q + 2] + index [q + 3]
print (horizontalwin)
end
答案 0 :(得分:2)
您可能正在运行表中的元素数量;请注意,要使用q
到q+3
键,您需要在表格中包含45个元素,而不是42个。如果表格中只有42个元素,那么当q
为40时,则q+3
将尝试检索index[43]
值nil
,这会触发您看到的错误。
您需要将循环更改为1到42-3或将总和更改为:
horizontalwin =
index [q] + (index [q + 1] or 0) + (index [q + 2] or 0) + (index [q + 3] or 0)