pairs和ipairs,pcall和xpcall的区别和用法

pairs:

1、按键的哈希值的值由大到小进行遍历
2、遇到nil会跳过

ipairs

1、找到key值为1进行顺序遍历
2、当遍历的下一个值是按顺序的并且为nil则退出遍历,如果下一个值不是按顺序需要的键值,则跳过继续找下一个顺序key值

#取表长度:

1、大佬讲的特别清楚,看这篇博客完全没问题了 -> https://www.jianshu.com/p/1e8ab8fe55e4
2、总的来说因为取表长度Lua源码中采取的是二分法查找,并且分有无hash部分分别处理所以导致看起来好像#table无规律

pcall:

1、pcall(func,arg1,arg2…),传入第一个值为函数,后面的则为参数
2、返回值有两个,第一个是成功状态,第二个是报错消息

xpcall:

1、xpcall(func,errFunc,arg2…),传入第一个值为函数,第二个为报错函数(自动传入err消息),后面则为参数
2、返回值只有一个,成功状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值