Lua基础语法之注释、标识符、变量 - DaemonCoder

Lua基础语法之注释、标识符、变量 - DaemonCoder

注释

单行注释

两个减号表示单行注释,后面是注释内容,用法同C语言中的 //


多行注释

多行注释用 --[[ --]],表示,用法同C语言中的/* */


关键词


这些是Lua语言的保留字,不同把这些用作标识符。

标识符

和其他言类似,Lua的标识符也是由 字母(A-Z、a-z)或 下划线(_) 或 数字(0-9)组成,且不能以数字开头,且不能是上述的关键词。如:


以上这些都是合法的标识符。

Lua语言区分大小写,daemonCoder 和 daemoncoder 是两个不同的标识符。

一般约定,自定义的变量不要以下划线开头连接一串大写字母的名字(比如 _VERSION),这种形式被保留用于 Lua 内部全局变量。

变量

Lua变量的定义类似其他动态语言,不需要为变量声明数据类型(但是Lua是有数据类型的),下面看示例:

Lua基础语法之注释、标识符、变量 - DaemonCoder

Lua的变量默认是全局变量,定义局部变量需要用local声明。

上面示例定义了a到g多个变量,涉及到Lua的多种数据类型,这里我们先不关心,后续文章会详细介绍。但是需要注意变量b前面有local,是一个局部变量,其他均为全局变量。局部变量和全局变量的区别在于局部变量会在代码块结束的位置销毁,全局变量则不会,即使在一个方法内部定义,也可以方法外的其他地方被访问。这一点有点坑,所以在定义局部变量时一定不要忘加local,除非你明确地是要定义一个全局变量。

再看这个例子:

Lua基础语法之注释、标识符、变量 - DaemonCoder

可以看到:

Lua可以在局部临时覆盖全局位置的变量。对局部变量重新赋值B,退出代码块之后再访问b就恢复了原来的值。

Lua不存在的变量为nil。也可以手动给变量赋值nil来删除变量。否则变量会由Lua自动管理生命周期。

更详细内容,请到 https://www.daemoncoder.com/