首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Lua 编程之函数

函数的定义

在 Lua 中 function 关键字修饰的代码块就是函数了,而函数跟变量差不多,同样存在局部函数和全局函数,不过作用域不一样,都是以 local 作为区分的。

函数的结构就是上面代码编写的那样,以 function 为首的代码块,Add 就是函数的名称,a 和 b 就是函数的参数( Lua 中函数参数也和变量一样不需要指定类型,赋值之后才拥有类型 ),在 function 和 end 中间的就是函数体了。函数可以有返回值或者没有返回值,需要返回值的时候直接 return 就好了。

在使用函数的过程中发现,Lua 中的函数好像是没有重载的,后声明的函数会覆盖先前声明的同名函数。

虽然 Lua 中没有像样的函数重载,但是 Lua 函数对于传入的参数个数要求很宽松,也就是说 Lua 会去自动适应传入的参数,如果参数传入的参数超过函数定义的参数,则会忽略后面的参数,如果传少了参数,Lua 还会将不足的参数用 nil 替代。基于 Lua 的这种特性,可以有以下形式实现重载。(一个想法,不一定对)

函数的多返回值

Lua 的函数返回值是可以有多个的,具体只需要在 return 后以逗号隔开不同返回值即可。不过接收的时候也需要声明相同数量的变量,如果少了或多了,返回值赋予的变量就按声明顺序来赋值。

函数的可变参数

Lua 的函数是可以接收或多或少的参数,使用 ... 来表示这样的可变参数。

针对函数的可变参数,Lua 中还存在 select 函数进行对可变参数中的固定索引截取部分。

函数先学这么多,今天就到这里~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190617A046O100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券