Lua程式設計(第4版)

Lua程式設計(第4版)

《Lua程式設計(第4版)》是2018年電子工業出版社出版的圖書,作者是(巴西)Roberto Ierusalimschy。

基本介紹

  • 書名:Lua程式設計(第4版)
  • 作者:(巴西)Roberto Ierusalimschy(羅伯拖?魯薩利姆斯奇)
  • 類別:計算機
  • 譯者:梅隆魁
  • 出版社:電子工業出版社 
  • 出版時間:2018年07月
  • 頁數:432 頁
  • 定價:89 元 
  • 開本:16 開
  • ISBN:9787121338045
  • 千字數:560
  • 版次:01-01
內容簡介,圖書目錄,作者簡介 ,

內容簡介

本書由 Lua 語言作者親自撰寫,針對 Lua 語言本身由淺入深地從各個方面進行了完整和細緻的講解。作為第 4 版,本書主要針對的是 Lua 5.3,這是本書撰寫時 Lua 語言的最新版本。

圖書目錄

第 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.2 取整函式 22
3.5 表示範圍 . 24
3.6 慣例 . 25
3.8 兼容性 . . 27
3.9 練習 . 28
4 字元串 30
4.2 長字元串/多行字元串33
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 和 goto84
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.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

作者簡介

梅隆魁,2013年碩士畢業於北京郵電大學計算機科學與技術專業嵌入式系統與網路通信方向。畢業後就職中國民生銀行總行信息科技部,主要從事J2EE企業級及分散式系統的套用和架構設計開發及項目管理工作,業餘對嵌入式軟硬體、移動套用開發及Android移動安全也有所涉獵,是一名“會畫圓”且“能畫圓”的工程師。

相關詞條

熱門詞條

聯絡我們