Lua介绍
Lua是一种小巧的脚本语言,作者是巴西人。Lua的所有代码都是由标准的ANSI C编写而成,代码简洁优美,只要是在支持ANSI C的系统上都能够完美的运行。
Lua有如下特点
(1)易嵌入,可以很方便地与C/C++编写的游戏逻辑互相调用;
(2)简单,不涉及任何复杂的编程概念;
(3)轻量,库体积很小,只有几百千子节;
(4)易学习,游戏策划人员也可以使用Lua;
(5)高性能,相对于C/C++原生语言,Lua解析带来的性能损失可以忽略不计。
Lua语法
1.命名规范
Lua中的标志符可以由任意字母组合、数字和下划线构成,不能以数字和下划线打头,并且大小写铭感。
注意:标识符不能使用Lua关键字
Lua包含的关键字如下:
and break do else elseif
true false for function if
in local nil not or
repeat return then end until
while
2.类型与值
Lua是一种动态类型语言,在语言中没有定义类型的语法,每个值本身就包含了类型信息。
Lua中有8种基础类型
(1)nil // 空
(2)boolean // 布尔类型
(3)number // 数字
(4)string // 字符串
(5)function // 函数
(6)table // 表
(7)userdata // 自定义数据类型
(8)thread // 线程
在Lua中可以使用函数type()
来检测一个变量的类型。
local var = nil;
print(type(var)); // 输出为:nil
var = 520;
print(type(true)); // 输出为:number
var = "Hello World";
print(type(var)); // 输出为:string
var = print();
print(type(var)); // 输出为:function
var = {};
print(type(var)); // 输出为:table
nil
在Lua中nil
表示的是一种类型,它只包含一个值nil
。任何变量在没有赋值之前都是nil
。当给一个全局变量赋值为nil
,表示删除该变量。
boolean
boolean
有两个值:true
和false
,在Lua中只有false
和nil
表示假,其他情况都为真,数字0也为真。
number
在Lua中,number
类型表示实数,不论是浮点数还是整数都是number
类型
a = 10;
b = 5.20;
c = 5e20;
string
在Lua中,字符串表示的是一个字符序列。里面可以包含任意字符,都是用单引号或者双引号括起来的部分
str = "I'm is a string!";
*当需要两个字符串时,可以使用字符串连接操作符
print("Hello".."World!");
*当需要获取字符串的长度时,使用”#”能获取字符串的总长度
a = "Hello World!";
print(#a);