嗯,我对lua很新,今天开始研究这个。所以这是我的代码:
local l = {1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}
local n = table.getn(l)
local path = {{l[1], 1}}
local index = 1
for i=2,n do
if l[i] ~= l[i-1] then
index = index + 1
path[index][1] = l[i]
path[index][2] = 0
end
path[index][2] = path[index][2] + 1
end
我想要做的是获取路径数组(表),其中零和1应与其后续数量分组。输出应为:
{{1, 1}, {0, 3}, {1, 3}, {0, 8}, {1, 1}}
但问题是我得到了索引,得到了nil 错误:path[index][1] = l[i]
这段代码有什么问题?应该增加index
并创建path
数组中的新项目......但它不是......
答案 0 :(得分:3)
索引设置为,您尝试索引到位置2的路径,该路径返回nil。然后你试图在零上设置索引1。您需要在路径的索引2处创建一个表。尝试这样做
path[index] = {l[i], 0}