【Lua】Lua中ipair和pair的区别
2024-09-03 00:00:12
pairs会遍历table的所有键值对。
而ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历。顺便说下,记忆也很简单,带i的就是根据integer key值从1开始遍历的。
请看个例子。
tb = {"oh", [3] = "god", "my", [5] = "hello", [6] = "world"} for k,v in ipairs(tb) do
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也没问题。
最新文章
- 信贷业务(Ali)
- centos 6.x安装rvm 配置 Ruby开发环境
- 自定义UISearchBar
- 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
- jQuery立体式数字动态增加(animate方法)
- jquery 数组求差集,并集
- LeetCode Number of Islands 岛的数量(DFS,BFS)
- 【转】CocoaPods的安装以及遇到的坑
- 《BackboneJS框架的技巧及模式》(2)
- C#的checked和unchecked
- 判断是否联网_检测网络的类型为3G、2G、wap、wifi
- node.js(四)path优化(路径优化)
- php开启虚拟域名功能
- iOS 枚举写法
- redis php sort 函数
- Linux命令之control快捷键组合
- servlet的xx方式传值中文乱码
- (一)juc线程高级特性——volatile / CAS算法 / ConcurrentHashMap
- 【SQLite】可视化工具SQLite studio
- Shell操作mysql数据库