lua中select函数的用法
admin
2024-04-02 07:55:42

关于lua的select函数,是可以用于计算参数个数的或者获取指定索引之后的参数;

  • 当select函数用于计算传递进来的参数个数时需要在第一个参数位置使用 #符号;
  • 否则就需要使用数字n来进行获取某个指定索引后的参数;

注意: select(n,…)这个函数返回的是第n个索引后的所有参数;

下面是两种用法的操作分析:

一、用计算传递进来的参数个数

在普通函数上使用的select:

//这是计算传递进来的参数个数
print (select("#",1,2,"e",3)) ----->输出结果为4//注意这里计算的话,是不能计算数组和表里面的元素个数的
a = {1,2,3,4}
print (select("#",a))	------>输出结果为1,这里会将数组a看作为一个参数进行计算,因此输出1在变参函数上使用的select函数,下面是一个用于计算接收到的参数个数的变参函数
function cal_sum(...)return select("#",...) 	------->返回计算到的参数个数
end
print(cal_sum(1,2,3,4,5,5))	------->输出结果为6

二、输出第n个索引后的所有参数

这一部分需要着重看一下,一开始我也是对于这方面不太懂;因为很多教程都是写返回的是一个参数;但是使用print函数直接对其结果进行打印时发现打印的是指定索引后的所有值;

一共可以使用两种方法进行打印:
1、通过直接使用print函数打印其返回值

function cal_sum(...)print(select(3,...) )
end
print(cal_sum(1,2,3,4,5,5)) ------->打印3 4 5 5

2、通过使用参数接收其返回值再进行打印;但是这种方法需要预先知道返回的参数个数,否则接收的变量少于返回的变量会导致后面的无法接收到;或者定义的变量多与返回的值将会导致没有接收到返回值的变量为nil

function cal_sum(...)a,b,c,d = select(3,...)print(a,b,c,d) ------->打印3 4 5 5
e = select(3,...)print(e) ------->打印3
end
cal_sum(1,2,3,4,5,5)

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...