调用 select

简介: `select`函数需传入选择器`selector`和变长参数,若`selector`为数字n,则返回从索引n到结尾的参数列表;若为字符串'#',则返回参数总数。示例中,`f`函数展示了从第三个参数开始取值及打印所有参数。在另一个示例中,`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

相关文章
|
23天前
|
索引
调用 select
`select` 函数在 Lua 中用于处理变长参数,需传入选择器`selector`和变长参数。若`selector`为数字n,则返回从索引n开始至结尾的参数列表;若为字符串'#',则返回参数总数。示例展示了如何使用`select`获取和打印参数。在第一个例子中,`f`函数从第三个参数开始取值,输出2及后续参数。第二个例子中,`foo`函数遍历并打印所有参数,输出每个参数的值。
|
1天前
|
索引
调用 select
`select`函数需传入选择器`selector`和变长参数,若`selector`为数字n,则返回从索引n到结尾的参数列表;若为字符串'#',则返回参数总数。示例中,`f`函数展示了从第三个参数开始取值及打印所有参数。在另一个示例中,`foo`函数遍历并打印所有参数,利用`select('#', ...) `获取参数数量。当调用`f(0,1,2,3,4,5)`和`foo(1, 2, 3, 4)`时,分别输出了相应的参数值。
select:如何同时感知多个I/O事件
【4月更文挑战第12天】select 函数提供了最基本的 I/O 多路复用方法,在使用 select 时,我们需要建立两个重要的认识:描述符基数是当前最大描述符 +1;每次 select 调用完成之后,记得要重置待测试集合。
|
11月前
|
SQL 数据库
拷贝的表的SQL语句 SELECT INTO 和 INSERT INTO SELECT的用法与区别
语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1
113 0
|
SQL 关系型数据库 数据库
如何实现update select 语句
​ 这次的文章出现也是因为这样一个类似的需求,个人需要把一个30万行(后续会发文介绍常见的处理手段)的数据文件入库,同时需要将部分字段迁移到另一张表,两个表之间通过两个字段进行and匹配。
166 0
|
SQL Java 数据库连接
SELECT操作
SELECT操作
58 0
|
索引
select count(*)和select count(1)的区别
一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的     假如表沒有主键(Primary key), 那么count(1)比count(*)快,     如果有主键的話,那主键作为count的条件时候count(主键)最快     如果你的表...
965 0
|
程序员 数据库 索引