Lua中的ipair 和 pair的区别
来源:互联网 发布:linux打包解包 编辑:程序博客网 时间:2024/06/01 07:41
原来,pairs会遍历table的所有键值对。table是键值对的数据结构。
而ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历。顺便说下,记忆也很简单,带i的就是根据integer key值从1开始遍历的。
请看个例子:tb = {"oh", [3] = "god", "my", [5] = "hello", [6] = "world"}
print(k, v)
end
输出结果就是:
1 oh
2 my
3 god
因为tb不存在tb[4],所以遍历到此为止了。
for k,v in pairs(tb) do
print(k, v)
end
输出结果:
1 oh
2 my
3 god
6 world
5 hello
我们都能猜到,将输出所有的内容。然而你发现输出的顺序跟你tb中的顺序不同。
如果我们要按顺序输出怎么办?办法之一是:
for i = 1, #tb do
if tb[i] then
print(tb[i])
else
end
当然,仅仅是个数组的话,ipairs也没问题。
0 0
- Lua中的ipair 和 pair的区别
- lua 中pair 和ipair的区别
- Lua中ipair与pair的区别
- lua的ipair与pair究竟有什么区别
- c++中pair和map的区别
- lua 中 . 和 : 的区别
- pair和make_pair的使用
- STL的vector和pair
- C++的队列和pair
- lua的:和.的区别(语法糖)
- lua的一个坑:和.的区别
- STL中的模板类pair 和map
- STL中的模板类pair 和map
- 【LUA学习】ipairs和pairs的区别
- Lua中 Pairs和ipairs的区别
- lua中require和module的区别
- lua ipairs和pairs的区别 .
- Lua中pairs和ipairs的区别
- selenium java等待alert对话框弹出,并关闭对话框
- 自动溜坡
- SASS用法指南-阮一峰
- 两个数组实现堆栈
- 代码的优化——JAVA类的继承
- Lua中的ipair 和 pair的区别
- 关于使用jq的ajax通过josnp方式跨域获取数据
- hdu 1556 线段树
- c++第五次作业
- 复制带随机指针的链表
- android service,服务的正确姿势
- sharepoint 2013 excel services浏览excel文件 未能下载图表或图像
- find_get_pid 解析
- HDU4161 Iterated Difference