1.函数定义
optional_function_scope function 函数名( 参数1,参数2...)
函数体
return 返回值1,返回值2
optional_function_scope:
该参数是可选的制定函数是全局函数还是局部函数,未设置该参数默认为全局函数,如果你需要设置函数为局部函数需要使用关键字local
Lua 中我们可以将函数作为参数传递给函数,如下实例:
myprint = function(param)
print("打印:",param)
end
function add(num1,num2,functionPrint)
result = num1 + num2
-- 调用function函数
functionPrint(result)
end
myprint(10)
add(2,5,myprint)
输出:
打印: 10
打印: 7
2.可变参数
function average(...)
sum= 0
local age={...}
for i,v in ipairs(age) do
result = sum+ v
end
print("总共传入 " .. #age.. " 个数")
return sum/#age
end
print("平均值为",average(1,2,3))
输出:
总共传入 3 个数
平均值为 2
3.多返回值
function return_number(a)
local sum=0
for i,val in ipairs(a) do
sum=sum+val
end
return #a, sum
end
print(return_number({1,2,3}))
执行结果为:
3 6