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
照开头所说,结果也很清楚了
下面测试题
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)
end
print('\n')
-- table2 ipairs
for k, v in ipairs(table2) do
print(k.. ' '.. v)
end