0.5 关于本书

开始打算写这本书是1998年冬天(南半球),那时候Lua版本是3.12000v4.02003v5.0

很明显的是,这些变化给本书带来很大的冲击,有些内容失去了它存在理由,比如关于超值(upvalues)的复杂的解释。一些章节被重写,比如C API,另外一些章节被增加进来,比如协同处理。

不太明显的是,Lua语言本身的发展对本书的完成也产生了很大的影响。一些语言的变化在本书中并没有被涵盖进来,这并非偶然的。在本书的创作过程中,有的时候在某个章节我会突然感觉很困惑,因为我不知道该从何开始或者怎样去讲问题阐述清楚。当你想尽力去解释清楚如何使用的前提是你应该觉得使用这个东西很容易,这表明Lua某些地方需要被改进。还有的时候,我顺利的写完某个章节,结果却是没有人能看得懂我写的或者没有人对我在这个章节内表达的观点达成一致。大部分情况下,这是我的过错因为我是个作家,偶尔我也会因此发现语言本身的一些需要改进的缺陷(举例来说,从upvalueslexical scoping的转变是由无意义的尝试所带来的抱怨所引发的,在此书的先前的草稿里,把upvalues形容成是lexical scoping的一种)。

本书的完成必须服从语言的变化,本书在这个时候完成的原因:

<1> Lua 5.0是一个成熟的版本

<2> 语言变得越来越大,超出了最初本书的目标。此外一个原因是我迫切的想将Lua介绍给大家让更多的人了解Lua


相关链接:
lua程序设计目录 - 中国lua开发者 - lua论坛