第一章 开始Lua

1.1 程序块


Lua执行的每段代码,例如一个源代码文件或在交互模式中输入的一行代码,都称为一个“程序块”。一个程序块也就是一连串的语句或命令。几天连续的Lua语句之间并不需要分隔符,但如果愿意,也可以使用分好来分割语句。举个例子

exampl1:

a = 1
b = 2 

这样写居然是合法的

a = 1 b =2

通上述例子相同也是合法的,同样您也可以加上分号例如:

example2:

a = 1;
b = 2;

a =1 b=2;

a =1 ;b =2

1.2 词法规范

Lua中的标识符可以是由任意字母、数字、下划线构成的字符串,但不能以数字开头,举个例子:

exampl 1.2.1

i  --合法

_i  --合法

1i   --不合法

注意:应该避免使用以一个下划线开头并跟着一个或者是多个大写字母(例如:_Xina,_XINA等)的标识符,Lua将这类标识符留作特殊用途。通常保留标识符“_”(一个下划线)
作为哑变量(Dummy Variable)使用。
在Lua中,“什么是字母”的概念依赖于区域设置(Locale)。如果设置了一个正确的区域,那么便可以使用“include”“import”等作为变量
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也提供了快注释以“--[[” 到 “--]]” ,注意:当注释一段代码时一个常见的技巧是将这些代码放入“--[[” 和 “--]]” 中间,例如下面的示例代码:

example 1.2.2 
--[[

print(10)

--]]

当重启这段代码是,只需要在第一行行首添加一个连字符即可:

example 1.2.3:

---[[

print(10)     -->10

--]]

在example 1.2.3 中,最后一行的“__]]”仍在一个块注释中,第一行和最后一红是两个彼此独立的行注释,所以恰巧把print(10)位于注释之外。


1.3全局变量


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

example 1.3.1

print(b)  -->nil

b = 2

print(b)  -->2


通常情况下没有必要删除一个全局变量。如果一个变量只有较短的生存周器,那么就应该使用局部变量。但是如果要删除某个全局变量的话,只需要将其赋值为nil:

example 1.3.2

b = nil

print(nil)

在这句赋值语句之后,lua就会好像从未使用过这个变量一样。换句话说,如果存在一个全局变量,那么它一定存在一个非nil的值。

1.4  解释器程序


这个请参阅 周惟迪老师的 《Lua程序设计(第二版)》
本章结束

你可能感兴趣的:(Lua学习)