可变参数

简介: Lua函数是主要的抽象机制,用于执行任务和计算值。它们能接受可变数量的参数,用三点`...`表示。下面的示例展示了如何处理可变参数:一个`add`函数求和,以及一个`average`函数计算平均值。`average`函数接收到的参数被存储到表`arg`中,然后遍历求和,最后除以参数个数返回平均值。当调用这些函数时,如`add(3,4,5,6,7)`返回25,`average(10,5,3,4,5,6)`返回5.5,并显示参数个数。

Lua 函数

在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。

Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。

Lua 函数主要有两种用途:

1.完成指定的任务,这种情况下函数作为调用语句使用;
2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。

可变参数

Lua 函数可以接受可变数目的参数,和 C 语言类似,在函数参数列表中使用三点 ... 表示函数有可变的参数。

function add(...)
local s = 0
for i, v in ipairs{...} do --> {...} 表示一个由所有变长参数构成的数组
s = s + v
end
return s
end
print(add(3,4,5,6,7)) --->25
我们可以将可变参数赋值给一个变量。

例如,我们计算几个数的平均值:

实例
function average(...)
result = 0
local arg={...} --> arg 为一个表,局部变量
for i,v in ipairs(arg) do
result = result + v
end
print("总共传入 " .. #arg .. " 个数")
return result/#arg
end

print("平均值为",average(10,5,3,4,5,6))
以上代码执行结果为:

总共传入 6 个数
平均值为 5.5

相关文章
|
3天前
|
C++
c++函数参数
c++函数参数
25 0
|
3天前
|
C语言
可变参数
Lua函数用于任务执行和值计算,支持可变参数,如`add(...)`,参数`...`表示变长参数列表。在函数内部,`{...}`转化为数组,可用于遍历和操作所有参数。例如,`add(3,4,5,6,7)`返回25。
|
3天前
函数参数
函数参数。
27 0
|
8月前
|
Java C++
C++可变参数
C++可变参数
41 0
|
3天前
可变参数传入数组
可变参数传入数组
18 0
|
9月前
|
C++
C和C++中的可变参数(上)
C和C++中的可变参数(上)
67 0
|
11月前
|
NoSQL 编译器 Shell
C++可变参数使用总结
C++可变参数使用总结
python函数不能传可变参数
python函数不能传可变参数
|
Java
一文学会java方法重载,可变参数
1.概述 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。 最常用的地方就是构造器的重载。
133 0
|
PHP 开发者
可变参数|学习笔记
快速学习可变参数
73 0
可变参数|学习笔记