实例讲解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中的数组部分。