第一章 开始
若使用命令行参数 -i 来启动Lua解释器,那么解释器就会在运行完指定程序块后进入交互模式。例如在命令行中输入:
% lua -i prog
这样会先运行文件prog中的程序块,然后再进入交互模式。参数 -i 对于调试和手工测试尤为有用。
Lua中的标识符可以是由任意字母、数字和下划线构成的字符串,但不能以数字开头。
应该避免使用以一个下划线开头并跟着一个或多个大写字母(例如“_VERSION”)的标识符,Lua将这类标识符保留用作特殊用途。通常保留标识符“_”(一个下划线)作为“哑变量(Dummy Variable)”使用。
可以在任何地方以两个连字符(--)开始一个“行注释”,该注释一直延伸到一行的结尾。Lua也提供了“块注释”,以“--[[”开始,直至“]]”。
Lua中有8种基础类型:nil(空)、boolean(布尔)、number(数字)、string(字符串)、userdata(自定义类型)、function(函数)、thread(线程)和table(表)。
Lua中的字符串是不可变的值。不能像在C语言中那样直接修改字符串的某个字符,而是应该根据修改要求来创建一个新的字符串。
可以用一对匹配的双方括号来界定一个字母字符串,以这种形式书写的字符串可以延伸多行,Lua不会解释其中的转义序列。此外,如果字符串的第一个字符是一个换行字符串,那么Lua会忽略它。这种书写对于书写那种含有程序代码的字符串尤为有用。如下例:
page = [[
<html>
<head>
<title>An HTML Page</title>
</head>
<body>
<a href="http://www.lua.org">lua</a>
</body>
</html>
]]
第二章 类型与值
在table类型中,a.x和a[x]是不一样的。前者表示a["x"],表示以字符串“x”来索引table。而后者是以变量x的值来索引table。
虽然可以用任何值作为一个table的索引,也可以用任何数字作为数组索引的起始值。但就Lua的习惯而言,数组通常以1作为索引的起始值。并且有不少机制依赖于这个惯例。
在Lua5.1中,长度操作符“#”用于返回一个数组或线性表的最后一个索引值(