Lua 可变参数之arg与select

 1 function TestFunc(...)
 2     local arg = { ... }                       --Lua 5.2以后不再支持默认arg参数,{}与...之间要有空格
 3     print("输入的参数个数:".. #arg)
 4     for i, v in ipairs(arg) do
 5         print(v)
 6     end
 7 end
 8 print("***************************************");
 9 function TestFunc2(...)
10    print("输入的参数个数:".. select('#', ...))
11     local count = select('#', ...);
12     for i = 1, count do
13         num = select(i, ...)
14         print(num)
15     end
16 end
17 TestFunc(1, 3, 5, 7, nil, 9)            --输出结果 1 3 5 7 9
18 TestFunc2(1, 3, 5, 7, nil, 9)           --输出结果 1 3 5 7 nil 9

通过代码可以得出结论:

1.ipairs函数遇到nil停止输出

2.把ipairs换成pairs 发现,输出结果是1 3 5 7 9,得出结论pairs会过滤到nil

3.select(index,...)函数的作用是返回从第i个开始的所有元素,并且会输出nil

转载于:https://www.cnblogs.com/blackteeth/p/10155335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值