select 返回变长参数的总数

简介: `select` 函数需传入选择器 `selector` 和可变参数,若 `selector` 为数字 n,则返回从第 n 个参数开始至末尾的参数列表;若为字符串 '#',则返回参数总数。示例中,第一个实例的 `a` 存储了第 3 个参数并打印所有参数;第二个实例遍历并打印所有参数。输出分别为:2 和 2 3 4 5,以及依次打印 1 2 3 4。

调用 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

相关文章
|
5天前
|
索引
select 返回变长参数的总数
`select` 函数需传入一个数字或字符串 "#" 作为选择器,和变长参数。若选择器为数字 n,则返回从索引 n 到末尾的参数列表;若为 "#",则返回参数总数。示例展示了如何使用 `select` 获取并打印参数。在第一个例子中,当选择器为 3 时,输出从第三个参数开始的列表及全部参数。第二个例子中,利用 "#" 获取参数个数,遍历并打印所有参数。
|
10月前
|
SQL Oracle 关系型数据库
【问题处理】—— SQL里进行 null值 的判断永远返回 false?
【问题处理】—— SQL里进行 null值 的判断永远返回 false?
63 0
|
10月前
|
SQL 关系型数据库 MySQL
SQL聚合函数SUM值为NULL引发的爆炸
在写这篇文章之前,最想提醒大家的是,开发一定不能想当然,看着没问题就不调试了,结果它就是有问题的。如果时间很紧,到了测试阶段才发现问题解决问题那就很狼狈很被动了,不要问我为什么会特别想提这个。
97 0
SQL聚合函数SUM值为NULL引发的爆炸
|
SQL 数据库
数据库sql语句(count(*)和count(字段))
数据库sql语句(count(*)和count(字段))
151 0
【TP5】查询返回结果
【TP5】查询返回结果
138 0
【TP5】查询返回结果
|
SQL 安全 数据库
使用order by排序判断返回结果的列数,order by排序判断字段数原理详解
order by排序猜解列数原理详解 一、order by的两种使用方式 1)按照字段名排序
515 0
使用order by排序判断返回结果的列数,order by排序判断字段数原理详解
|
数据库
还在用SELECT COUNT统计数据库表的行数?Out了
在ABAP里我们如果想用代码获得一个数据库表里有多少条记录,常规做法是使用SELECT COUNT。
135 0
还在用SELECT COUNT统计数据库表的行数?Out了