Lua 函数主要有两种用途:
1.完成指定的任务,这种情况下函数作为调用语句使用;
2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。
- 求最大值:
function GetMax(num1, num2)
local result
if num1 > num2 then
result = num1
else
result = num2;
end
return result;
end
print(GetMax(21, 20))
>> 21
- 函数作为参数传递给另一个函数:
function MyPrintFunc(param)
print("我的打印函数:", param)
end
function Add(num1, num2, funcPrint)
local result;
result = num1 + num2
funcPrint(result)
end
MyPrintFunc(10)
Add(20, 1, MyPrintFunc)
>> 我的打印函数: 10
>> 我的打印函数: 21
- 函数的多值返回
GetAvgNSum = function(num1, num2, num3)
local Sum = num1 + num2 + num3
local Avg = Sum/3
return Sum, Avg
end
print(GetAvgNSum(4,5,6))
>> 15 5
- 函数的可变参数:
Lua函数可以接受可变数目的参数,在函数参数列表中使用三点(...) 表示函数有可变的参数。Lua将函数的参数放在一个叫arg的表中,#arg表示传入参数的个数。(跟C#中的params 参数类似)
function GetAvg( ... )
local result = 0
local arg = { ... }
for i, v in ipairs(arg) do
result = result + v
end
print("总共传入" .. #arg .. "个数")
return result/#arg
end
print("平均数为:", GetAvg(10, 5, 6))
>> 总共传入3个数
>> 平均数为:7
网友评论