Lua 04-基础学习笔记-词法约定

一、词法约定

Lua 语言的格式自由。 它会忽略语法元素(符记)间的空格(包括换行) 和注释, 仅把它们看作为名字和关键字间的分割符。

Lua 中的 名字 (也被称为 标识符) 可以是由非数字打头的任意字母下划 线和数字构成的字符串。 标识符可用于对变量、表的域、以及标签命名。

下列 关键字 是保留的,不可用于名字:

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

Lua 语言对大小写敏感: and 是一个保留字,但 And 与 AND 则是两个不同 的有效名字。 作为一个约定,程序应避免创建以下划线加一个或多个大写 字母构成的名字

二、注释

1、单行注释

-- 单行注释,前面有2个减号的代码不会被执行。

2、多行注释

--[[
 多行注释 在这个区域内的代码不会被执行
 多行注释 在这个区域内的代码不会被执行
 --]]

三、标示符

Lua 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上 0 个或多个字母,下划线,数字(0 到 9)。

最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。

Lua 不允许使用特殊字符如 @, $, 和 % 来定义标示符。 Lua 是一个区分大小写的编程语言。因此在 Lua 中 Runoob 与 runoob 是两个不同的标示符。以下列出了一些正确的标示符:

四、关键词(字),保留词(字)

以下列出了 Lua 的保留关键词。保留关键字不能作为常量或变量或其他用户自定义标示符:

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

五、全局变量

在默认情况下,变量总是认为是全局的。

全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。

如果你想删除一个全局变量,只需要将变量赋值为nil。