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