Lua快速上手

Posted 两片空白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua快速上手相关的知识,希望对你有一定的参考价值。

目录

声名变量

 number类型和运算符

 string类型

        字符串和数字互相转化

 函数

table数组

数字下标

table的接口

 字符串下标的table

全局table——_G

lua里的真和假

分支语句

 循环语句

for循环

 while循环

 补充:


声名变量

        在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快速上手的主要内容,如果未能解决你的问题,请参考以下文章

Lua 15分钟快速上手(上)

Lua 快速上手指南

挑战一晚上从零入门lua语言,直接对标Python快速上手

Lua脚本语言快速入门手册

lua脚本在游戏中的应用

lua脚本在游戏中的应用