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

Lua 可变参数之arg与select相关推荐

  1. 【C语言】可变参数列表

    文章目录 前言 一.可变参数列表是什么? 二.怎么用可变参数列表 三.对于宏的深度剖析 隐式类型转换 对两个函数的重新认知 总结 前言 可变参数列表,使用起来像是数组,学习过函数栈帧的话可以发现实际上 ...

  2. 【Java2】一维数组,家庭收支界面,/属性和方法,方法重载,变量分类,可变参数,包

    文章目录 1.一维数组:int[ ] a = { } 1.1 数组的内存分析(静态):数组名=首地址 1.2 数组的内存分析(动态):元素默认值 1.3 数组相关算法: 1.3.1 找最值:array ...

  3. java——慎用可变参数列表

    说起可变参数,我们先看下面代码段,对它有个直观的认识,下方的红字明确地解释了可变参数的意思: 1 public class VarargsDemo{ 2 3 static int sum(int... ...

  4. python可变参数和关键字参数位置_python的位置参数、默认参数、关键字参数、可变参数区别...

    一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8def print_hello(name, sex): sex_di ...

  5. 可变参数中size_t遇见的问题

    在修改php扩展Trie时,出现了一个小bug PHP_FUNCTION(trie_filter_load) {Trie *trie;char *path;int path_len;if (zend_ ...

  6. python中可变参数args_python 可变参数 *args, **kwds

    关键字可变参数-字典 #!/usr/bin/env python# -*- coding: UTF-8 -*-def dictVarArgs(arg1, arg2='defaultB', **theR ...

  7. C语言中函数可变参数解析

    大多数时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数.但在某些情况下希望函数的参数个数可以根据需要确定.典型的例子有 大家熟悉的函数printf().scanf ...

  8. python参数的可变参数与关键词参数

    可变参数与关键词参数 def can_form_triangle(a, b, c):print(f'a = {a}, b = {b}, c = {c}')return a + b > c and ...

  9. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  10. 属于c语言高级参数的,c语言可变参数的取值

    可变参数的方法必须包含一个不可变的方法,否则会出现错误, 无法获取可变参数的长度,这和一般高级语言是有区别的. int main() { // errorTest(); enableChangePar ...

最新文章

  1. SLAM精度测评——EVO进阶
  2. 西湖大学三位资深博导自述:我与我的第一位博士生
  3. 两个port贴合七夕主题,百度输入法的“情感营销”策略
  4. [C#]手把手教你打造Socket的TCP通讯连接(三)
  5. java集合框架类源代码阅读体会
  6. core identity mysql_Asp.Net Core Identity 4 改成 MySql/MariaDB
  7. linux 产生0~2之间的随机数
  8. idea的一些常用快捷键
  9. 微信平台第三方服务器,浅谈微信第三方服务平台的发展前景
  10. Nat. Biotechnol. | 利用深度学习从基因转录数据中预测药物疗效
  11. thinkPHP仿QQ飞车手游模拟抽奖源码
  12. [转]easyui 全部图标
  13. html是一种制作万维网页面的标准语言,计算机网络基础练习选择题
  14. 完全停止Oracle中正在运行的JOB
  15. 威尔逊置信区间 php,威尔逊置信区间
  16. Devcpp新建文件自动添加一定代码
  17. swiper修改轮播图下面小圆圈样式
  18. 小伙入职某互联网大厂的一天(1)
  19. win10滑动关机代码bat_win10设置自动关机和取消自动关机的bat命令
  20. 在前端开发中,页面渲染指什么

热门文章

  1. shell脚本循环嵌套
  2. [问题解决]php中替换字符串函数strtr()和str_repalce()的用法与区别
  3. 中国云计算进入全球通时代 阿里云四大海外数据中心相继开服
  4. 细心微服务架构的优势与不足那点事
  5. php学习之路:WSDL详细解释(两)
  6. cisco3745做Easy ×××
  7. 监控数据库锁阻塞_机器连接数_警报日志的shell脚本 分享
  8. [Struts]让Dreamweaver显示Struts标签的插件
  9. 转载Java 反射机制
  10. selece * from jb51 where id45