lua学习笔记之函数

1、概述 

函数只有一个参数,并且参数类型是字符串字面量或者表对象构造器,则括号是可选的

调用一个函数,可以传与函数定义数不相等个数的参数。lua会调整参数个数为函数定义的参数个数,将多余的参数丢弃,将缺少的参数补齐为nil

2、多结果

lua函数可以返回多个结果。在函数定义中,return语句中列出多个。

lua在调用函数中根据情况调整结果数。当调用函数作为语句时,会丢弃函数返回结构。当调用作为表达式时,只保持第一个结果。当调用作为表达式列表的最后一个表达式时,返回所有结果。列表会出现在以下四种情况下

  • 多赋值
  • 函数调用的参数列表
  • 表构造器
  • 返回语句

3、变参

函数定义参数列表中的...表示是变参的。函数定义中访问变参是通过三点。三点表达式称为变参表达式。

变参迭代,可以使用{...}表达式来收集到表中。但是当变参中有nil值时,{...}不是一个合适的顺序表。可以使用函数table.pack,来创建表,并且表中有字段n表示参数个数。

另外一种方式是使用select函数。返回第n个参数后的所有参数,否则返回变参参数的个数

当使用select,使其返回的结果数适配到1时,可以认为select(n, ...)是取的第n个参数

4、table.unpack

返回列表中的所有元素。

一个重要的应用场景就是通用调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值