Lua table遍历pairs和ipairs的区别

来源:互联网 发布:vb 字符串 校验码 编辑:程序博客网 时间:2024/06/06 03:28

pairs可以遍历表中所有key,value, 可以返回nil
ipairs从下标为1开始遍历,然后下标累加1,如果某个下标元素不存在就终止遍历。不一定能遍历到所有的元素
如果下标不连续或者不是从1开始的表就会中断或者遍历不到元素

上代码

local table1 = {    [1] = '11',    [2] = '22',    ['GOD'] = 'love',    [5] = '55',}-- table1 pairs for k, v in pairs(table1) do    print(k.. ' '.. v)end-- table1 ipairs for k, v in ipairs(table1) do    print(k.. ' '.. v)end

照开头所说,结果也很清楚了

table1 pairs 和 ipairs

下面测试题

local table2 = {    'love',  --table默认是index递增的insert    'is',    [3] = 'gift',    ['mom'] = 'love'}print('\n')-- table2 pairs for k, v in pairs(table2) do    print(k.. ' '.. v)endprint('\n')-- table2 ipairs for k, v in ipairs(table2) do    print(k.. ' '.. v)end

table2 pairs 和 ipairs

原创粉丝点击