经过上节的介绍想必大家已经成功运行过lua代码了。

下面我们真正的来接触lua基本语法了。

lua 注释 打包影响 lua语言注释_全局变量



1.注释语法

Lua语言有自己独特的注释语法,同样分为行注释和块注释。


行注释:和C语言很像,以--开头,那么这行之后的字符会被当做注释处理。(--等同于c语言的//)

lua 注释 打包影响 lua语言注释_局部变量_02


块注释:以--[[ 开头,以 ]] 结尾,在这之间的所有字符(可以跨多行)会被当做注释处理(-[[等同于c语言的/*,]]等同于*/)。


值得注意的是:在上面注释块最后一行是以--]]结尾而不是]]。

这并不是语法要求,而是一种技巧。

在编程中,我们经常会将某一段代码注释后调试代码,然后取消注释。在C语言中,添加注释块是/*  CODE  */ 但是取消注释需要手动删除注释头,注释尾。

然而在lua中,使用--[[ 和 --]] 结尾。取消注释只需要在注释头前再添加一个 - 。例如:

lua 注释 打包影响 lua语言注释_全局变量_03

是不是lua的注释要方便了许多呢?

lua 注释 打包影响 lua语言注释_lua_04

你以为以上内容注释就说就完了么?那看来你的脑子转得不够快,你考虑到这个问题没有:假如注释内容中出现了]]怎么办?

lua 注释 打包影响 lua语言注释_lua_05

原意是想将那两行代码都注释掉,可是由于第一行代码出现了]]导致提前遇到注释尾。所以b=1这句代码并没有被注释掉。

对于这个问题,在Lua5.1中提供了一个解决办法:

lua 注释 打包影响 lua语言注释_lua_06

以上代码仅仅是为了举例,并没有什么实际的含义。

lua 注释 打包影响 lua语言注释_代码块_07



2.全局变量、局部变量

如果还有人不明白什么是全局变量,什么是局部变量的请看下面这段话,如果是老司机已经知道的可以直接跳过这段

lua 注释 打包影响 lua语言注释_代码块_08

全局变量是指:这个变量在没有被同名局部变量覆盖的时候,所有代码块都是可见的。

局部变量是指:该变量只在被申明的代码块中可见,并且可以覆盖同名全局变量或者外层局部变量。

可以看下这个例子:

lua 注释 打包影响 lua语言注释_全局变量_09

输出为:

lua 注释 打包影响 lua语言注释_lua_10


那么在Lua中全局变量,局部变量有什么特殊的地方呢?

lua 注释 打包影响 lua语言注释_lua 注释 打包影响_11


在Lua中,全局变量是不需要声明的,也就是说在某个代码块没有对x变量进行局部声明的情况下,使用x那么表示的就是x为全局变量。

而如果要在某个代码块中使用局部变量x需要声明: local x = value ,local关键字表示局部。