文章目录
零、相关文章
一、前言
哈喽大家好,我是 FEZ98 ,今天继续系统学习Lua。这个系列是我系统学习Lua语言的学习笔记,我会把遇到的一些比较值得记录与关注的知识写在里面,供自己以后进行回顾。
二、Lua 流程控制
(2.1)if 语句
if 语句语法:
在Lua 中,false 与nil 为假,true 与非 nil 为真。其中0也为真。
if 语句流程图:
实例:
(2.2)if…else 语句
(2.2.1)if…else 语句
if…else 语句语法:
Lua 中if 语句可以搭配else 语句一起使用,当if 为false 时,直接执行else 语句块。
if…else 语句流程图:
实例:
(2.2.2)if…elseif…else 语句
if…elseif…else 语句语法:
实例:
(2.3)if 嵌套语句
if 嵌套语句语法:
Lua 中的 if 语句允许嵌套,可以在一个 if 或 else if 语句中插入其他的 if 或 else if 语句。
实例:
三、Lua 函数
(3.1)函数定义
Lua 中函数定义语法:
Lua 函数的两种用途:
- 返回 指定的任务,这种情况下函数作为调用语句使用。
- 计算并返回值,这种情况下函数 作为赋值语句的表达式使用。
实例1(计算并返回值):
在 Lua 中可以将函数赋值给变量,也可将函数作为参数传递给函数。
实例2:
(3.2)多返回值
Lua 中函数可以返回多个结果值。如string.find(),返回匹配串的开始与结束下表(如果不存在匹配串返回nil)。
实例:
Lua 中在函数 return 后列出要返回的值的列表即可返回多值。
实例1:
实例2(反转数组值):
(3.3)可变参数
(3.3.1)可变参数语法
Lua 中可变参数语法:
Lua 中的函数可以接受可变数目的参数,在函数参数列表中使用...
表示函数有可变的参数。
实例1:
(3.3.2)select(“#”,…)
可以通过 select(“#”,…) 来获取可变参数的数量。
实例2:
其中 select("#",...) 的结果为5,而 select("#",args) 的结果为1。
Lua 中函数的参数可以由几个固定参数加上可变参数构成,固定参数必须放在边长参数前。
实例3:
(3.3.3)select(n,…)
通常使用{…}就可遍历变长参数,但如果变长参数中包含 nil,则需要使用 select() 函数进行遍历。
select("#",...)
:返回变长参数的长度
select(n,...)
:返回从下标 n 开始至变长参数结束位置的所有参数列表。
实例4:
实例5:
select(n,...)
返回的是变量 n 对应的右边变量列表的第一个参数。
print(select(n,...))
则会打印所有的列表参数。