迭代器
主要是用来遍历表的
两个迭代器区别
# | ipairs | pairs |
---|---|---|
索引必须数字且连续 | 索引必须数字且连续 | 索引可以随意 |
从1开始到nil | 从1开始到nil | 从1开始到无其他索引 |
字符索引不识别 | 字符索引不识别 | 字符索引识别 |
关键字 ipairs
-- # 得到长度 其实并不准确 一般不要用 # 来遍历表
-- 遍历不全
a={[0]=1,2,[-1]=3,4,5,[6]=6}
print("***********ipairs************")
--ipairs
--ipairs 遍历 还是 从1 开始往后遍历的 小于等于0 的值得不到
-- 只能找到连续索引的 键 如果中间断序了 它也无法遍历出后面的内容
-- 遍历不全
-- 在我测试时发现甚至不如 # (以前功能应该差不多)
for i,k in ipairs(a) do
print("ipairs 遍历键值" ..i.."_"..k)
end
关键字 pairs
-- pairs 它能把所有的键都找到 通过键可以得到值 !!!所有
-- 推荐使用
for i,v in pairs(a) do
print("pairs 遍历键值" ..i.."_"..v)
end
for i in pairs(a) do
print("pairs 遍历键"..i)
end
标签:pairs,遍历,迭代,..,索引,--,ipairs,语法,Lua
From: https://www.cnblogs.com/Luo-Xi/p/18327721