函数(子程序) 是一段可以执行的代码,他通常包含函数名,出入参数,函数体,返回值(传出参数)。他可以方便代码管理,把常用的代码写成函数方便重复利用。
函数定义:
funcname = function( [parlist1] )
funcbody
end
函数名 funcname ::= Name {'.' Name} [':'Name]
形参 parlist1 ::= namelist [`,´ `...´] | `...´
函数实例
--~ 一个简单的函数包含一些常用的基本信息
--~ 传入任意多的整数然后求和
addsum = function (a,...)
local arg={...};
local sum = a;
for i, v in ipairs(arg) do
sum = sum + v
end
if(#arg > 0) then
--返回多值
return sum,#arg
else
--返回单值
return sum
end
end
r1,r2 = addsum(1,2) --结果 3
print(r1,r2) --结果 3 nil
r1 = addsum(1,2,3,4) --结果 10
print(r1,r2) --结果 3 2