词法约定

变量是以字母或下划线开头的字母下划线数字序列,不要使用下划线加大写字母的标识符,因为Lua的保留字是这种形式
Lua的保留字:

and break do else elseif
end false for function if
in local nil not or
repeat return then true until
while

在Lua中大小写敏感,如and是保留字,And和AND则不是保留字

代码规范

Lua 的多条语句之间并不要求任何分隔符, 如 C 语言的分号(;), 其中换行符也同样不能起到语句分隔的
作用

Lua的注释有两种:单行注释,使用两个减号(–)开头就行了

1
--单行注释

多行注释,两个减号(–)后面紧跟两个正中括弧([[),后面就是注释语句,结束时减减(–)紧跟两个反中括弧(]])

1
2
3
4
5
--[[我是
跨行注
释语
--]]

变量

Lua中分全局变量和局部变量。
默认创建的就是全局变量,访问一个没有初始化的全局变量是不会出错的,只不过结果是 nil ,这就相当于 null,想要删除一个全局变量时,将其赋值为nil就行了。
局部变量要通过 local 进行声明,局部变量只在声明的代码块中有效

1
2
3
4
5
local m = 9
if m<=10 then
local m = 5
print(m)
end

如上代码中m为5

Lua是动态类型语言,声明时不要类型定义,赋值什么类型变量就是什么类型。使用 type() 函数可以获取变量的类型信息。

变量的类型

Lua有 nil、 boolean、 number、 string、 userdata、 function、 thread 和 table共计8种变量类型。

  1. nil型只有一个值,就是nil,用于表示无效值。
  2. boolean 有false和true两种值。Lua中所有的值都可以作为条件,只有 false和nil 视为假,其余的均视为真,如数字0和空字符串。
  3. number就是实数
  4. string 就是字符串,lua的string可以包含任何数值字符,包括嵌入的0。例:

    1
    2
    3
    m ="979899"
    print(m) ----->abc