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
Lua 可变参数之arg与select相关推荐
- 【C语言】可变参数列表
文章目录 前言 一.可变参数列表是什么? 二.怎么用可变参数列表 三.对于宏的深度剖析 隐式类型转换 对两个函数的重新认知 总结 前言 可变参数列表,使用起来像是数组,学习过函数栈帧的话可以发现实际上 ...
- 【Java2】一维数组,家庭收支界面,/属性和方法,方法重载,变量分类,可变参数,包
文章目录 1.一维数组:int[ ] a = { } 1.1 数组的内存分析(静态):数组名=首地址 1.2 数组的内存分析(动态):元素默认值 1.3 数组相关算法: 1.3.1 找最值:array ...
- java——慎用可变参数列表
说起可变参数,我们先看下面代码段,对它有个直观的认识,下方的红字明确地解释了可变参数的意思: 1 public class VarargsDemo{ 2 3 static int sum(int... ...
- python可变参数和关键字参数位置_python的位置参数、默认参数、关键字参数、可变参数区别...
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8def print_hello(name, sex): sex_di ...
- 可变参数中size_t遇见的问题
在修改php扩展Trie时,出现了一个小bug PHP_FUNCTION(trie_filter_load) {Trie *trie;char *path;int path_len;if (zend_ ...
- python中可变参数args_python 可变参数 *args, **kwds
关键字可变参数-字典 #!/usr/bin/env python# -*- coding: UTF-8 -*-def dictVarArgs(arg1, arg2='defaultB', **theR ...
- C语言中函数可变参数解析
大多数时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数.但在某些情况下希望函数的参数个数可以根据需要确定.典型的例子有 大家熟悉的函数printf().scanf ...
- python参数的可变参数与关键词参数
可变参数与关键词参数 def can_form_triangle(a, b, c):print(f'a = {a}, b = {b}, c = {c}')return a + b > c and ...
- python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- 属于c语言高级参数的,c语言可变参数的取值
可变参数的方法必须包含一个不可变的方法,否则会出现错误, 无法获取可变参数的长度,这和一般高级语言是有区别的. int main() { // errorTest(); enableChangePar ...
最新文章
- SLAM精度测评——EVO进阶
- 西湖大学三位资深博导自述:我与我的第一位博士生
- 两个port贴合七夕主题,百度输入法的“情感营销”策略
- [C#]手把手教你打造Socket的TCP通讯连接(三)
- java集合框架类源代码阅读体会
- core identity mysql_Asp.Net Core Identity 4 改成 MySql/MariaDB
- linux 产生0~2之间的随机数
- idea的一些常用快捷键
- 微信平台第三方服务器,浅谈微信第三方服务平台的发展前景
- Nat. Biotechnol. | 利用深度学习从基因转录数据中预测药物疗效
- thinkPHP仿QQ飞车手游模拟抽奖源码
- [转]easyui 全部图标
- html是一种制作万维网页面的标准语言,计算机网络基础练习选择题
- 完全停止Oracle中正在运行的JOB
- 威尔逊置信区间 php,威尔逊置信区间
- Devcpp新建文件自动添加一定代码
- swiper修改轮播图下面小圆圈样式
- 小伙入职某互联网大厂的一天(1)
- win10滑动关机代码bat_win10设置自动关机和取消自动关机的bat命令
- 在前端开发中,页面渲染指什么
热门文章
- shell脚本循环嵌套
- [问题解决]php中替换字符串函数strtr()和str_repalce()的用法与区别
- 中国云计算进入全球通时代 阿里云四大海外数据中心相继开服
- 细心微服务架构的优势与不足那点事
- php学习之路:WSDL详细解释(两)
- cisco3745做Easy ×××
- 监控数据库锁阻塞_机器连接数_警报日志的shell脚本 分享
- [Struts]让Dreamweaver显示Struts标签的插件
- 转载Java 反射机制
- selece * from jb51 where id45