Lua基本语法
Lua变量
局部变量与全局变量
全局变量:在Lua中,默认情况下,变量总是全局的,不需要声明,给一个变量赋值后就创建了这个全局变量。
通常写在函数外部的变量,作用域是从定义一直到文件末尾。
a = 100;
originX, originY = -1, -1;
局部变量:使用关键字local定义局部变量。
function getOrigin():
local a = 100;
end
通常写在函数内部,作用域是从定义一直到函数结束或者return;
Lua定义变量
- 同其他变成编程语言一样,Lua使用标识符定义变量,标识符由字母、数字、下划线组成,且不能以数字开头。
- Lua是大小写敏感的
Lua中的保留关键字
保留关键字不能作为变量或者其他自定义标识符
| and | break | do | else | elseif | end |
|---|---|---|---|---|---|
| false | for | function | if | in | local |
| nil | not | or | repeat | return | then |
| true | until | while |
Chunks(块)
Chunk是Lua执行的每一块语句,一个Chunk可以是一个语句,也可以是一系列语句的组合,还可以是函数。
每个语句结尾的分号是可选的,但同一行有多个语句最好用分号隔开,以免产生副作用。
wallet = 1 coin = wallet * 100
-- 不是错误,但不美观
-- 通常每一行只写一个语句,且在语句结尾使用分号
wallet = 1;
coin = wallet * 100;
数据类型
| Type | Desc |
|---|---|
| nil | 表示一个无效值,只有nil属于这个类型 |
| boolean | 布尔类型,false/true |
| number | 双精度浮点数(double),Lua中没有整数,Lua的number可以无误差处理任何长整型 |
| string | 字符串,用一对单引号或双引号来包裹字符表示 |
| function | 函数类型,由Lua或C编写 |
| userdata | 任意存储在变量中的C数据结构 |
| thread | 线程,执行的独立线路 |
| table | 表,关联数组,数组的索引可以是数字或者字符串。{}表示空表 |
常用的有boolean,number, string, function
Lua 是动态类型语言,变量不需要类型定义, 每个变量都可以包含任意一种类型的值,与python类似。
a = "hello"; print(a); a = 3; print(a); a = false; print(a);