pairs 会从头到尾搜索table,只要table中有值,就会遍历到
ipairs只会遍历数字key,而且中间如果有一个key的value为nil,那么就终止遍历
--[[
local t = {
1, 2, 3, 4, nil, 6
}
t.foo = "bar"
for i, v in ipairs(t) do
print(i, v)
end
--[[
结果为:
1, 1
2, 2
3, 3
4, 4
]]
for k, v in pairs(t) do
print(k, v)
end
--[[
结果为:
1, 1
2, 2
3, 3
4, 4
6, 6
foo, bar
]]
table.insert(t, 5)
for i, v in ipairs(t) do
print(i, v)
end
--[[
结果为:
1, 1
2, 2
3, 3
4, 4
6, 6
7, 5
foo, bar
]]