Lua 函数的简单使用

举报
陈言必行 发表于 2021/08/14 00:59:44 2021/08/14
【摘要】 在Lua中,函数是对语句和表达式进行抽象的方法,即可以用来处理一些特殊的工作,也可以用来计算一些值,Lua提供了许多的内建函数,我们可以很方便的在程序中调用他们,如print()函数可以键传入参数打印在控制台上,,,、 Lua编程语言函数定义格式如下; optional function function_name( arg1, arg2, arg3..., argn...

在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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。