分析一下lua的for循环遍历的不同
--[[这里是第一种情况
in ipairs 是遍历有序的
in pairs 是遍历无序的
--]]
local tab ={1,2,3,x=33,4,w = 5}
for k,v in ipairs(tab) do
print(k .. " = " .. v)
end
for k,v in pairs(tab) do
print(k .. " = " .. v)
end
运行上面的代码后,就是下面的情况
--[[这里是第二种情况
in ipairs 遇到key对应的value是nil的话,就不会继续遍历下去的
in pairs 遇到key对应的value是nil的话,会跳过nil对应的key,然后继续遍历,不打乱他的值
--]]
local tab ={1,2,nil,x=33,4,w = 5}
for k,v in ipairs(tab) do
print(k .. " = " .. v)
end
for k,v in pairs(tab) do
print(k .. " = " .. v)
end