Lua基本语法

82 阅读2分钟

Lua基本语法

Lua变量

局部变量与全局变量

全局变量:在Lua中,默认情况下,变量总是全局的,不需要声明,给一个变量赋值后就创建了这个全局变量。

通常写在函数外部的变量,作用域是从定义一直到文件末尾。

a = 100;
originX, originY = -1, -1;

局部变量:使用关键字local定义局部变量。

function getOrigin():
	local a = 100;
end

通常写在函数内部,作用域是从定义一直到函数结束或者return;

Lua定义变量

  • 同其他变成编程语言一样,Lua使用标识符定义变量,标识符由字母、数字、下划线组成,且不能以数字开头。
  • Lua是大小写敏感的

Lua中的保留关键字

保留关键字不能作为变量或者其他自定义标识符

andbreakdoelseelseifend
falseforfunctionifinlocal
nilnotorrepeatreturnthen
trueuntilwhile

Chunks(块)

Chunk是Lua执行的每一块语句,一个Chunk可以是一个语句,也可以是一系列语句的组合,还可以是函数。

每个语句结尾的分号是可选的,但同一行有多个语句最好用分号隔开,以免产生副作用。

wallet = 1 coin = wallet * 100
-- 不是错误,但不美观
-- 通常每一行只写一个语句,且在语句结尾使用分号
wallet = 1;
coin = wallet * 100;

数据类型

TypeDesc
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);