一、程序块

Lua作为脚本语言,和python一样,即可以在交互模式执行命令,也可以将命令汇总在一起形成一个脚本文件。

Lua执行的每段代码,例如一个源代码文件或在交互模式中输入的一行代码,都称为一个“程序块”。一个程序块就是一连串的语句或命令。

在Lua中几条连续的Lua语句之间并不需要分隔符,如如果愿意,也可以使用分号来分隔语句。例如,以下4个程序块都是合法的,并且完全等价:

a = 1
b = a*2

a = 1;
b = a*2;

a = 1; b = a*2

a = 1 b = a*2

二、词法规范

2.1、标识符规则

Lua中的标识符与C语言一样,由字母、数字和下划线构成,但是不能以数字开头,此外Lua标识符大小写敏感。

此外应该避免使用以一个下划线开头并跟着一个或多个大写字母(例如:“_VERSION”)的标识符,因为Lua将这类标识符保留用作特殊用途。通常保留标识符(一个下划线)作为“哑变量”使用。

2.2、保留关键字

以下是Lua的保留字,不能将他们用作标识符:

and break do else elseif

end false for function if

in local nil not or repeat

return then true until while

2.3、注释

行注释:两个连字符(–),该注释一直延伸到一行的结尾,例如:

print(type(a))  --number

块注释:以​​--[[​​​开始,直至​​]]​​结束,例如:

--[[
print(type(a))
]]

块注释常用技巧

--块注释
--[[
print(type(a))
--]]

--解除块注释
---[[
print(type(a))
--]]

三、全局变量

在Lua中变量不需要声明,只需将一个值赋予一个全局变量就可以创建了。在Lua中,访问一个未初始化的变量不会引发错误,访问结果是一个特殊的值nil,例如:

print(a) --nil
b = 10
print(b) --10

如果要删除一个全局变量,只需将其赋值为nil:

b = nil
print(b) --nil