实例讲解Lua中pair和ipair的区别
采用pair:
复制代码 代码如下:
function print_contents(params)
for k, v in pairs(params) do
print(k, " ", v)
end
end
print_contents({20, 40, 50})
采用inpari:
复制代码 代码如下:
local tt =
{
[1] = "test3",
[4] = "test4",
[5] = "test5"
}
for i,v in ipairs(tt) do -- 输出 "test3" k=2时断开 ,因为数组的下表没有连续,i是从下表1开始,刚好三个元素,导致i = 3的时候已经输出完毕
print( tt[i] )
end
下面在才用ipair,数组连续的情况下,全部输出:
复制代码 代码如下:
function print_inpaircontents(params)
for k, v in ipairs(params) do
print(v)
end
end
local temp_table = {
[1] = "test3",
[2] = "test4",
[3] = "test5"
}
print_inpaircontents(temp_table)
pairs()可以遍历整个table,即包括数组及非数组部分。
ipairs()函数用于遍历table中的数组部分。
下一篇:Lua table的concat方法使用实例