调用 select

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

相关文章
|
1月前
|
索引
调用 select
调用 select
|
13天前
|
索引
|
3月前
|
索引
调用 select
在Lua中,`select`函数基于首个参数selector(数字或'#')返回变长参数列表。数字n指示从第n个参数开始至结尾;'#'返回参数总数。示例:`select(3,...)`从第3个参数起返回,而`select('#',...)`返回参数个数。使用循环遍历所有参数,如`for i = 1, select('#', ...) do local arg = select(i, ...); print(arg) end`,可逐个打印参数。
错误代码502,网页无法打开?教你如何解决!
错误代码502,网页无法打开?教你如何解决!
|
4月前
|
消息中间件 弹性计算 缓存
通过OOS定时升级Redis实例临时带宽
阿里云OOS提供了定时升级Redis实例临时带宽的功能,以应对数据驱动业务中的流量高峰。这个功能允许用户根据预测的业务负载,在特定日期和时间自动增加Redis实例的带宽,确保服务性能和稳定性。在高流量事件结束后,带宽会自动恢复到原设置,节省成本。 此功能适用于电商平台促销、大型游戏更新等场景,确保在流量高峰期间的系统稳定运行。
|
5月前
|
算法 数据可视化 计算机视觉
使用Python实现图像处理中的边缘检测算法
图像处理中的边缘检测是计算机视觉和图像识别领域的重要技术之一。本文将介绍如何利用Python语言实现常见的边缘检测算法,包括Sobel、Canny等,并结合实例演示其在图像处理中的应用。
198 16
|
5月前
|
JSON JavaScript Java
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
240 0
|
Python 流计算 API
PyFlink 教程(三):PyFlink DataStream API - state & timer
介绍如何在 Python DataStream API 中使用 state & timer 功能。
PyFlink 教程(三):PyFlink DataStream API - state & timer
|
5月前
|
SQL 存储 数据可视化
【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage
【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage
382 57
|
SQL 存储 传感器
大数据大比拼:Hive vs HBase,你知道两者的区别和适用场景吗?
大数据大比拼:Hive vs HBase,你知道两者的区别和适用场景吗?
2361 0