第 1 部分 語言基礎 1
         1 Lua 語言入門 2
         1.1 程序段   3
         1.2 一些詞法規範   5
         1.3 全局變量   7
         1.4 類型和值   7
         1.4.1 nil  8
         1.4.2 Boolean   8
         1.5 獨立解釋器   10
         1.6 練習    12
         2 小插麯:八皇後問題 13
         2.1 練習    15
         3 數值 17
         3.1 數值常量   17
         3.2 算術運算   19
         3.3 關係運算   21
         3.4 數學庫   21
         3.4.1 隨機數發生器   22
         3.4.2 取整函數   22
         3.5 錶示範圍   24
         3.6 慣例    25
         3.7 運算符優先級   26
         3.8 兼容性   27
         3.9 練習    28
         4 字符串 30
         4.1 字符串常量   31
         4.2 長字符串/多行字符串   33
         4.3 強製類型轉換   34
         4.4 字符串標準庫   36
         4.5 Unicode 編碼   39
         4.6 練習    41
         5 錶 43
         5.1 錶索引   44
         5.2 錶構造器   46
         5.3 數組、列錶和序列   48
         5.4 遍曆錶   50
         5.5 安全訪問   52
         5.6 錶標準庫   53
         5.7 練習    54
         6 函數 56
         6.1 多返迴值   58
         6.2 可變長參數函數   61
         6.3 函數 table.unpack   64
         6.4 正確的尾調用   65
         6.5 練習    66
         7 輸入輸齣 68
         7.1 簡單 I/O 模型   68
         7.2 完整 I/O 模型   72
         7.3 其他文件操作   74
         7.4 其他係統調用   75
         7.4.1 運行係統命令   75
         7.5 練習    77
         8 補充知識 78
         8.1 局部變量和代碼塊   78
         8.2 控製結構   80
         8.2.1 if then else   81
         8.2.2 while   81
         8.2.3 repeat   82
         8.2.4 數值型 for   82
         8.2.5 泛型 for   83
         8.3 break、return 和 goto   84
         8.4 練習    88
         第 2 部分 編程實操 90
         9 閉包 91
         9.1 函數是第一類值   92
         9.2 非全局函數   94
         9.3 詞法定界   96
         9.4 小試函數式編程   100
         9.5 練習    103
         10 模式匹配 105
         10.1 模式匹配的相關函數   105
         10.1.1 函數 string.find   105
         10.1.2 函數 string.match   106
         10.1.3 函數 string.gsub   107
         10.1.4 函數 string.gmatch   107
         10.2 模式    108
         10.3 捕獲    112
         10.4 替換    114
         10.4.1 URL 編碼   116
         10.4.2 製錶符展開   118
         10.5 訣竅    119
         10.6 練習    123
         11 小插麯:齣現頻率最高的單詞 124
         11.1 練習    126
         12 日期和時間 128
         12.1 函數 os.time   129
         12.2 函數 os.date   130
         12.3 日期和時間處理   132
         12.4 練習    134
         13 位和字節 135
         13.1 位運算   135
         13.2 無符號整型數   136
         13.3 打包和解包二進製數據   139
         13.4 二進製文件   142
         13.5 練習    144
         14 數據結構 145
         14.1 數組    146
         14.2 矩陣及多維數組   146
         14.3 鏈錶    149
         14.4 隊列及雙端隊列   150
         14.5 反嚮錶   151
         14.6 集閤與包   152
         14.7 字符串緩衝區   154
         14.8 圖形    156
         14.9 練習    158
         15 數據文件和序列化 159
         15.1 數據文件   160
         15.2 序列化   162
         15.2.1 保存不帶循環的錶   165
         15.2.2 保存帶有循環的錶   167
         15.3 練習    169
         16 編譯、執行和錯誤 171
         16.1 編譯    171
         16.2 預編譯的代碼   175
         16.3 錯誤    177
         16.4 錯誤處理和異常   179
         16.5 錯誤信息和棧迴溯   180
         16.6 練習    182
         17 模塊和包 184
         17.1 函數 require   185
         17.1.1 模塊重命名   187
         17.1.2 搜索路徑   188
         17.1.3 搜索器   190
         17.2 Lua 語言中編寫模塊的基本方法  190
         17.3 子模塊和包   193
         17.4 練習    194
         第 3 部分 語言特性 196
         18 迭代器和泛型 for 197
         18.1 迭代器和閉包   197
         18.2 泛型 for 的語法   200
         18.3 無狀態迭代器   201
         18.4 按順序遍曆錶   203
         18.5 迭代器的真實含義   205
         18.6 練習    206
         19 小插麯:馬爾可夫鏈算法 208
         19.1 練習    211
         20 元錶和元方法 212
         20.1 算術運算相關的元方法   213
         20.2 關係運算相關的元方法   216
         20.3 庫定義相關的元方法   217
         20.4 錶相關的元方法   219
         20.4.1 __index 元方法   219
         20.4.2 __newindex 元方法   220
         20.4.3 具有默認值的錶   221
         20.4.4 跟蹤對錶的訪問   222
         20.4.5 隻讀的錶   224
         20.5 練習    225
         21 麵嚮對象(Object-Oriented)編程 226
         21.1 類(Class)   228
         21.2 繼承(Inheritance)   230
         21.3 多重繼承(Multiple Inheritance)  232
         21.4 私有性(Privacy)   235
         21.5 單方法對象(Single-method Object)  237
         21.6 對偶錶示(Dual Representation)  238
         21.7 練習    240
         22 環境(Environment) 241
         22.1 具有動態名稱的全局變量   242
         22.2 全局變量的聲明   243
         22.3 非全局環境   246
         22.4 使用 _ENV   248
         22.5 環境和模塊   251
         22.6 _ENV 和 load   252
         22.7 練習    254
         23 垃圾收集 255
         23.1 弱引用錶   255
         23.2 記憶函數(Memorize Function)  257
         23.3 對象屬性(Object Attribute)  259
         23.4 迴顧具有默認值的錶   260
         23.5 瞬錶(Ephemeron Table)   261
         23.6 析構器(Finalizer)   262
         23.7 垃圾收集器   266
         23.8 控製垃圾收集的步長(Pace)  267
         23.9 練習    268
         24 協程(Coroutine) 270
         24.1 協程基礎   270
         24.2 哪個協程占據主循環   273
         24.3 將協程用作迭代器   276
         24.4 事件驅動式編程   279
         24.5 練習    284
         25 反射(Reflection) 285
         25.1 自省機製(Introspective Facility)  286
         25.1.1 訪問局部變量   288
         25.1.2 訪問非局部變量   289
         25.1.3 訪問其他協程   291
         25.2 鈎子(Hook)   292
         25.3 調優(Profile)   293
         25.4 沙盒(Sandbox)   296
         25.5 練習    300
         26 小插麯:使用協程實現多綫程 301
         26.1 練習    306
         第 4 部分 C 語言 API 307
         27 C 語言 API 總覽 308
         27.1 第一個示例   309
         27.2 棧    312
         27.2.1 壓入元素   313
         27.2.2 查詢元素   314
         27.2.3 其他棧操作   317
         27.3 使用 C API 進行錯誤處理   320
         27.3.1 處理應用代碼中的錯誤  320
         27.3.2 處理庫代碼中的錯誤  321
         27.4 內存分配   322
         27.5 練習    324
         28 擴展應用 325
         28.1 基礎知識   325
         28.2 操作錶   327
         28.2.1 一些簡便方法   331
         28.3 調用 Lua 函數   333
         28.4 一個通用的調用函數   334
         28.5 練習    338
         29 在 Lua 中調用 C 語言 339
         29.1 C 函數    339
         29.2 延續(Continuation)   342
         29.3 C 模塊    345
         29.4 練習    347
         30 編寫 C 函數的技巧 349
         30.1 數組操作   349
         30.2 字符串操作   351
         30.3 在 C 函數中保存狀態   355
         30.3.1 注冊錶   355
         30.3.2 上值   358
         30.3.3 共享的上值(Shared upvalue)  361
         30.4 練習    362
         31 C 語言中的用戶自定義類型 363
         31.1 用戶數據(Userdata)   364
         31.2 元錶(Metatable)   367
         31.3 麵嚮對象訪問   370
         31.4 數組訪問   372
         31.5 輕量級用戶數據   373
         31.6 練習    375
         32 管理資源 376
         32.1 目錄迭代器   376
         32.2 XML 解析器   380
         32.3 練習    390
         33 綫程和狀態 392
         33.1 多綫程   392
         33.2 Lua 狀態   397
         33.3 練習    406
      · · · · · ·     (
收起)