当前位置: 首页 > article >正文

Lua中..和...的使用区别

一.        ..        的用法

二.        ...        的用法

在 Lua 中,... 是一个特殊符号,它用于表示不定数量的参数。当你在函数定义或调用中使用 ... 时,它可以匹配任意数量的参数,并将它们作为列表传递。

在您的代码示例中,f... 函数接受不定数量的参数。在函数内部,local a, b, c, d = ... 这行代码将传入的参数解包到变量 a, b, c, 和 d 中。如果传入的参数少于四个,后面的变量将不会被赋值。如果传入的参数多于四个,多余的参数将被忽略。

接下来的 printa, b, c, d 语句打印出前四个参数的值。

而 print... 这行代码会再次使用所有的参数,无论之前传入了多少个参数,这段代码都会将它们全部打印出来。

现在来看运行结果:

1. 当您传递三个实参(f(10,20,30))时,a 被赋值为 10,b 被赋值为 20,c 被赋值为 30,而 d 因没有对应的参数将保持未赋值的状态。然后,printa, b, c, d 打印出 10 20 30 nil,其中 nil 是因为 d 没有被赋值。接着,print... 又打印出所有传入的参数,所以输出 10 20 30。

2. 当您传递四个参数(f(10,20,30,40))时,a, b, c, 和 d 都会被正确地赋值,因此 printa, b, c, d 打印出 10 20 30 40。之后,print... 又打印出所有传入的参数,所以输出 10 20 30 40。

3. 当您传递五个参数(f(10,20,30,40,50))时,a, b, c, 和 d 分别被赋值为 10, 20, 30, 和 40。由于只能取前四个参数,多余的 50 将被忽略。然后 printa, b, c, d 打印出 10 20 30 40。最后,print... 又打印出所有传入的参数,所以输出 10 20 30 40。

总的来说,这个函数可以处理任意数量的参数,但只使用前四个。

再添一示例:


http://www.kler.cn/news/315796.html

相关文章:

  • Oracle 启动动态采样 自适应执行计划
  • 计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI
  • postman工具
  • http请求怎么解析的 平时常用的正则表示式
  • 点击响应优化
  • 2017年国赛高教杯数学建模C题颜色与物质浓度辨识解题全过程文档及程序
  • Java内存泄漏排查
  • uniapp小程序持续获取用户位置信息,后台位置获取
  • 9.22学习记录
  • 如何在 UniApp 中实现地图的视野自适应?
  • STM32系统时钟
  • 如何创建标准操作规程(SOP)[+模板]
  • 移动技术开发:简单计算器界面
  • en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集
  • 数据库 | 索引
  • 记K8s组件harbor和kuboard故障恢复
  • 桶排序和计数排序(非比较排序算法)
  • QT实现升级进度条页面
  • 计算机毕业设计之:基于深度学习的路面检测系统(源码+部署文档+讲解)
  • frpc内网穿透
  • Card View 卡片视图
  • 软媒市场新探索:软文媒体自助发布,开启自助发稿新篇章
  • 算法练习题24——leetcode3296移山所需的最小秒数(二分模拟)
  • Mysql删库跑路,如何恢复数据?
  • HDFS性能优化高频面试题及答案
  • AWS 将 OpenSearch 纳入 Linux 基金会旗下
  • 四十一、完成内容添加功能(使用go测试方法)
  • 全栈项目小组【算法赛】题目及解题
  • How do you send files to the OpenAI API?
  • 1.量化第一步,搭建属于自己的金融数据库!