Lua快速上手
Posted 两片空白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua快速上手相关的知识,希望对你有一定的参考价值。
目录
声名变量
在lua中,赋值一个变量就相等于声名了一个变量。没有被声名的变量,该变量值等于nil(相当于c语言的NULL)。
注意:在lua里声名的变量默认是全局变量。在其他文件中也可以使用。作用和c语言相同
如果要让变量变为局部变量,在变量前加上local关键字。
local a = 10
赋值语言可以多变量赋值:
number类型和运算符
c语言中有很多内置类型,int,char,float,double等,在lua中,这些类型统一都是number类型。
lua语言也支持16进制赋值和科学计数法。
运算符:lua基本上支持c语言中的运算符,比如加减乘除,幂,左移右移等。
string类型
声名字符串变量,也是通过赋值声名,字符串使用单引号或双引号皆可,并且lua支持转义字符。
使用"[[ ]]",也是声名字符,并且字符串是原原本本保存在里面,不会有什么转义。
字符串的连接符号,".."
字符串和数字互相转化
如果tonumber转换失败返回nil
在字符串变量前加一个'#'可以获取字符串的长度。
函数
函数的格式为:
返回值,如果函数没有返回,默认返回nil,有返回,返回对应值。
函数返回值,也可以返回多个值
table数组
-
数字下标
数字下标的使用和c语言里的数组差不多,里面可以保存数字,字符串,另外一个table,或者函数等。但是起始时从1号小标开始的。
如果访问了没有定义的table下标,该值为nil,但是也可以进行赋值。
可以使用'#'来获取table元素的个数。
table的接口
插入接口 insert
也可以使用table提供的insert接口,去插入元素,或者在指定位置插入。
移除接口remove
移除某个位置的元素,并且会返回移除的元素。
-
字符串下标的table
相当于c语言中的结构体,可以用数组的形式(数组的key必须是字符串)或者'.'的形式访问。
下标用字符串表示。
插入元素
移除元素
使用不了table的remove接口,可以将该字符串对应值置nil。
总结移除元素两种方法:置空或使用table接口remove
1. 数字下标,可以使用remove和置空
2. 字符串下标,可以使用置空。
-
全局table——_G
全局变量都保存在_G全局table里。
注意:其实table也是一个全局变量,他的类型是一个table,名字也是table,里面包含了元素insert和remove函数。
lua里的真和假
lua中有一种bool类型,只有true和false两种值。
在lua中只有false和nil表示假,其他表示真。0表示真
注意:lua中的逻辑操作and,or可以直接放回对应值。
and如果都是真,返回最后一个为真的值,如果一真一假,返回对应假的值,如果全为假,返回第一个假的值。
or如果都是真,返回第一个为真的值,如果一真一假,返回对应真的值,如果全为假,返回最后一个假的值。
利用该现象可以实现短路求值。
比如:
分支语句
用then表示后面要执行的分支语句,用end表示分支语句的结束。
循环语句
lua中有三种循环,分别是for循环,while循环和repeat循环。while和repeat循环使用差不多。
-
for循环
for 变量定义,结束值,步长(不写默认是1) do
代码块
end
注意:
1. for这行定义的变量作用域只在for循环中,但是在for循环中不能修改出了for循环就没有意义了。
2. 并且该变量只能在for循环中进行访问,不能进行修改。进行修改时,向但与在for循环里新建了一个局部变量。
3. 可以使用break关键字,没有continue关键字。
-
while循环
while 条件 do
语句
条件变更
end
支持break
补充:
lua里的字符串和c语言中的字符数组很像。可以使用string的char函数构成lua的字符串,用string的byte获得字符串中的某一位字符。并且会将0保存在字符串中,不会影响字符串的长度。
以上是关于Lua快速上手的主要内容,如果未能解决你的问题,请参考以下文章