在lua中,ipairs和pairs的区别
程序员文章站
2024-03-17 23:32:52
...
在lua中,ipairs和pairs的区别:
1.
ipairs是按(索引从小到大)顺序输出的。
pairs是无序输出的。
2.
ipairs从索引1开始,到索引不是整数为止,其中key为非整数(即key为字符串、浮点数等)会被跳过。
pairs会遍历表中所有key。
function table_length(t)
local leng = 0
for k, v in pairs(t) do
leng = leng+1
end
return leng
end
local t1 = {name = "table1"}
t1[0] = "v_0"
t1[1] = "v_1"
t1[1.1] = "v_1.1"
table.insert(t1, "v_a")
table.insert(t1, "v_b")
t1.count_ButJustMaxIndex = #t1
t1.count = table_length(t1) + 1
print("i,v in ipairs(t1):")
for i,v in ipairs(t1) do
print(i,v)
end
print("============")
print("k,v in pairs(t1): ")
for k,v in pairs(t1) do
print(k,v)
end
-- output:
-- i,v in ipairs(t1):
-- 1 v_1
-- 2 v_a
-- 3 v_b
-- ============
-- k,v in pairs(t1):
-- 1 v_1
-- 2 v_a
-- 3 v_b
-- 0 v_0
-- 1.1 v_1.1
-- name table1
-- count 8
-- count_ButJustMaxIndex 3
上一篇: PAT 甲级 1014 Waiting in Line (30 分)
下一篇: lua学习历程(2)