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

相关文章:

  • 2021-12-21
  • 2021-09-09
  • 2022-03-04
  • 2022-02-05
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
  • 2021-07-02
猜你喜欢
  • 2021-12-16
  • 2021-08-01
  • 2021-12-03
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2021-05-28
相关资源
相似解决方案