zl程序教程

您现在的位置是:首页 >  其它

当前栏目

Lua 函数的简单使用

函数 简单 lua 使用
2023-09-11 14:20:51 时间

在Lua中,函数是对语句和表达式进行抽象的方法,即可以用来处理一些特殊的工作,也可以用来计算一些值,Lua提供了许多的内建函数,我们可以很方便的在程序中调用他们,如print()函数可以键传入参数打印在控制台上,,,、
Lua编程语言函数定义格式如下;

optional function function_name( arg1, arg2, arg3..., argn)
    function_body
    return result

end

解析:
optional
: 该参数是可选的制定函数是全局函数还是局部函数,未设置该参数默认为全局函数,如果你需要设置函数为局部函数需要使用关键字local。
function_name:
指定函数名称。
arg, arg2, argt3…, argn:
函数参数,多个参数以逗号隔开,函数也可以不带参数。
function_body:
函数体,函数中需要执行的代码语句块。
result:
函数返回值,Lua语言函数可以返回多个值,每个值以逗号隔开。
小例:
比较连个数大小,并返回小的数:

--函数返回两个值的小的那个
function max(num1, num2)

   if (num1 < num2) then
      result = num1;
   else
      result = num2;
   end

   return result;
end
-- 调用函数
print("两值比较最小值为 ",max(10,4))
print("两值比较最小值为 ",max(5,6))

多返回值:
Lua函数可以返回多个结果,比如我们查找数组数组中的最大值和最大值所在位置(索引)

function maximum(arr)
local mi = 1     --最大值索引
local m = a[mi]   --最大值
for i,val in ipairs(arr) do
if val > m then
mi = i;
m = val;
end
end
return  m,mi
end

print(maxnum({1,5,7,5,4,5,6,4}))

可变参数
lua函数可以接受可变数目的参数,和C语言类似在函数参数列表汇总使用三个点(…)表示函数有可变的参数,Lua将函数的参数放在一个叫arg的表中,#arg表示传入参数的个数,
小例:求几个数的平均值:

function average(...)
result  = 0
local arg = {...}
for i,item in ipairs(arg) 
do
result = result +item
end
return result/#arg   --最大索引
end
print("平均值:",average(10,5,1,2,4));

– #table 此时返回的是这个表的最大索引,当最大索引不是number类型时,会返回0,当此table是索引是连续的时,就可以认为返回的是此table的长度