调用 select

简介: `select` 函数需传入选择器 `selector` 和变长参数,若 `selector` 为数字 n,则返回从索引 n 到结尾的参数列表;若为字符串 '#',则返回参数总数。示例中,`f` 函数展示了当 `selector` 为 3 时的输出,`foo` 函数则遍历并打印所有参数,展示了 `select('#', ...) `用于获取参数数量。

调用 select 时,必须传入一个固定实参 selector(选择开关) 和一系列变长参数。如果 selector 为数字 n,那么 select 返回参数列表中从索引 n 开始到结束位置的所有参数列表,否则只能为字符串 #,这样 select 返回变长参数的总数。

实例
function f(...)
a = select(3,...) -->从第三个位置开始,变量 a 对应右边变量列表的第一个参数
print (a)
print (select(3,...)) -->打印所有列表参数
end

f(0,1,2,3,4,5)
输出结果为:

2
2 3 4 5
实例
do
function foo(...)
for i = 1, select('#', ...) do -->获取参数总数
local arg = select(i, ...); -->读取参数,arg 对应的是右边变量列表的第一个参数
print("arg", arg);
end
end

foo(1, 2, 3, 4);
end
输出结果为:

arg 1
arg 2
arg 3
arg 4

相关文章
|
7天前
|
索引
调用 select
`select` 函数在 Lua 中用于处理变长参数,需传入选择器`selector`和变长参数。若`selector`为数字n,则返回从索引n开始至结尾的参数列表;若为字符串'#',则返回参数总数。示例展示了如何使用`select`获取和打印参数。在第一个例子中,`f`函数从第三个参数开始取值,输出2及后续参数。第二个例子中,`foo`函数遍历并打印所有参数,输出每个参数的值。
|
2天前
|
索引
调用 select
`select`函数需传入选择器`selector`和变长参数,若`selector`为数字n,则返回从索引n到结尾的参数列表;若为字符串'#',则返回参数总数。示例中,`f`函数从第三个参数开始赋值给`a`并打印所有参数;`foo`函数遍历并打印所有参数,展示了`select`获取参数数量和读取指定位置参数的功能。
select:如何同时感知多个I/O事件
【4月更文挑战第12天】select 函数提供了最基本的 I/O 多路复用方法,在使用 select 时,我们需要建立两个重要的认识:描述符基数是当前最大描述符 +1;每次 select 调用完成之后,记得要重置待测试集合。
|
10月前
|
SQL 数据库
拷贝的表的SQL语句 SELECT INTO 和 INSERT INTO SELECT的用法与区别
语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1
108 0
|
SQL 关系型数据库 数据库
如何实现update select 语句
​ 这次的文章出现也是因为这样一个类似的需求,个人需要把一个30万行(后续会发文介绍常见的处理手段)的数据文件入库,同时需要将部分字段迁移到另一张表,两个表之间通过两个字段进行and匹配。
162 0
|
SQL Java 数据库连接
SELECT操作
SELECT操作
57 0
|
程序员 数据库 索引
|
存储 SQL
SQL得到任意一个存储过程的参数列表sp_procedure_params_rowset
SQL得到任意一个存储过程的参数列表sp_procedure_params_rowsetexec sp_procedure_params_rowset 'up_rpt营业收入汇总表' PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE...
1063 0