7 函数
undefined7 Lua 函数
undefined多返回值
undefined
function maximum (a)local mi = 1 -- 最大值索引local m = a[mi] -- 最大值for i,val in ipairs(a) doif val > m thenmi = im = valendendreturn m, miendprint(maximum({8,10,23,12,5}))
undefined可变参数
Lua函数可以接受可变数目的参数,和C语言类似在函数参数列表中使用三点(…) 表示函数有可变的参数。
Lua将函数的参数放在一个叫arg的表中,#arg表示传入参数的个数。
例如,我们计算几个数的平均值:
function average(...)result = 0local arg={...}for i,v in ipairs(arg) doresult = result + vendprint("总共传入 " .. #arg .. " 个数")return result/#argendprint("平均值为",average(10,5,3,4,5,6))
以上代码执行结果为:
总共传入 6 个数平均值为 5.5
