lua中ipairs和pairs
两个都是可以进行迭代遍历
for i, v in ipairs( a ) do
print( i, v )
end
for i, v in pairs( a ) do
print( i, v )
end
两者通过上述遍历,都会从下标为1开始遍历,区别:
ipairs遍历的时候如果遇到nil就会终止遍历,如果没有nil则遍历到尾部终止。
pairs会遍历全部元素,遇到nil也不会终止,而且会遍历到-1,0等下标的元素
如下代码:
function test1( a )
for i, v in ipairs( a ) do
print( i, v )
end
end
function test2( a )
for i, v in pairs( a ) do
print( i, v )
end
end
c = { [-1] = 100, [-2] = 9910, [0] = 99, 22, 11, 44, }
print( "-----------ipairs----------" )
test1( c )
print( "-----------pairs----------" )
test2( c )
输入结果: