Lua 函数的简单使用
在Lua中,函数是对语句和表达式进行抽象的方法,即可以用来处理一些特殊的工作,也可以用来计算一些值,Lua提供了许多的内建函数,我们可以很方便的在程序中调用他们,如print()函数可以键传入参数打印在控制台上,,,、
Lua编程语言函数定义格式如下;
optional function function_name( arg1, arg2, arg3..., argn) function_body return result
end
- 1
- 2
- 3
- 4
- 5
解析:
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))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
多返回值:
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}))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
可变参数
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));
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
– #table 此时返回的是这个表的最大索引,当最大索引不是number类型时,会返回0,当此table是索引是连续的时,就可以认为返回的是此table的长度
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/77994668
- 点赞
- 收藏
- 关注作者
评论(0)