注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)Lua程序設(shè)計(jì)(第4版)

Lua程序設(shè)計(jì)(第4版)

Lua程序設(shè)計(jì)(第4版)

定 價(jià):¥89.00

作 者: (巴西)羅伯拖·魯薩利姆斯奇
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121338045 出版時(shí)間: 2018-07-01 包裝:
開本: 16開 頁(yè)數(shù): 432 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書由 Lua 語(yǔ)言作者親自撰寫,針對(duì) Lua 語(yǔ)言本身由淺入深地從各個(gè)方面進(jìn)行了完整和細(xì)致的講解。作為第 4 版,本書主要針對(duì)的是 Lua 5.3,這是本書撰寫時(shí) Lua 語(yǔ)言的*新版本。作者從語(yǔ)言使用者的角度出發(fā),講解了語(yǔ)言基礎(chǔ)、編程實(shí)操、高級(jí)特性及 C 語(yǔ)言 API 等四個(gè)方面的內(nèi)容,既有 Lua 語(yǔ)言基本數(shù)據(jù)類型、輸入輸出、控制結(jié)構(gòu)等基礎(chǔ)知識(shí),也有對(duì)模塊、閉包、元表、協(xié)程、延續(xù)、反射、環(huán)境、垃圾回收、函數(shù)式編程、面向?qū)ο缶幊?、C 語(yǔ)言 API 等高級(jí)特性的系統(tǒng)講解,還有對(duì) Lua 5.3 中引入的整型、位運(yùn)算、瞬表、延續(xù)等新功能的細(xì)致說(shuō)明。

作者簡(jiǎn)介

  Roberto Ierusalimschy是Lua語(yǔ)言的首席架構(gòu)師,從1993年Lua語(yǔ)言誕生起即進(jìn)行Lua語(yǔ)言的開發(fā)工作,目前是巴西PUC-Rio(the Pontifical Catholic University of Rio de Janeiro)大學(xué)計(jì)算機(jī)科學(xué)專業(yè)的一名助理教授,主要從事編程語(yǔ)言的設(shè)計(jì)和實(shí)現(xiàn)工作。梅隆魁,2013.4至今就職于中國(guó)民生銀行總行信息科技部,擅長(zhǎng)于Java企業(yè)級(jí)開發(fā)、嵌入式系統(tǒng)/軟硬件、安卓逆向等方向,同時(shí),對(duì)新技術(shù)也一直保有熱情。

圖書目錄

第 1 部分 語(yǔ)言基礎(chǔ) 1

1 Lua 語(yǔ)言入門 2

1.1 程序段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 一些詞法規(guī)范 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 全局變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 類型和值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1 nil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4.2 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.5 獨(dú)立解釋器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.6 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 小插曲:八皇后問題 13

2.1 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 數(shù)值 17

3.1 數(shù)值常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 算術(shù)運(yùn)算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3 關(guān)系運(yùn)算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4 數(shù)學(xué)庫(kù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4.1 隨機(jī)數(shù)發(fā)生器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4.2 取整函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.5 表示范圍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.6 慣例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.7 運(yùn)算符優(yōu)先級(jí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.8 兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.9 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4 字符串 30

4.1 字符串常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2 長(zhǎng)字符串/多行字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3 強(qiáng)制類型轉(zhuǎn)換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4 字符串標(biāo)準(zhǔn)庫(kù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.5 Unicode 編碼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.6 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5 表 43

5.1 表索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2 表構(gòu)造器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.3 數(shù)組、列表和序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.4 遍歷表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.5 安全訪問 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.6 表標(biāo)準(zhǔn)庫(kù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.7 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6 函數(shù) 56

6.1 多返回值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.2 可變長(zhǎng)參數(shù)函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.3 函數(shù) table.unpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.4 正確的尾調(diào)用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7 輸入輸出 68

7.1 簡(jiǎn)單 I/O 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7.2 完整 I/O 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7.3 其他文件操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.4 其他系統(tǒng)調(diào)用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.4.1 運(yùn)行系統(tǒng)命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8 補(bǔ)充知識(shí) 78

8.1 局部變量和代碼塊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8.2 控制結(jié)構(gòu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.2.1 if then else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.2.2 while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.2.3 repeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.2.4 數(shù)值型 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.2.5 泛型 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.3 break、return 和 goto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.4 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

第 2 部分 編程實(shí)操 90

9 閉包 91

9.1 函數(shù)是第一類值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

9.2 非全局函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

9.3 詞法定界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

9.4 小試函數(shù)式編程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

9.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 10 模式匹配 105

10.1 模式匹配的相關(guān)函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

10.1.1 函數(shù) string.find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

10.1.2 函數(shù) string.match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

10.1.3 函數(shù) string.gsub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

10.1.4 函數(shù) 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 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

11 小插曲:出現(xiàn)頻率最高的單詞 124

11.1 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

12 日期和時(shí)間 128

12.1 函數(shù) os.time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

12.2 函數(shù) os.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

12.3 日期和時(shí)間處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

12.4 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

13 位和字節(jié) 135

13.1 位運(yùn)算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

13.2 無(wú)符號(hào)整型數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

13.3 打包和解包二進(jìn)制數(shù)據(jù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

13.4 二進(jìn)制文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

13.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 14 數(shù)據(jù)結(jié)構(gòu) 145

14.1 數(shù)組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

14.2 矩陣及多維數(shù)組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

14.3 鏈表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

14.4 隊(duì)列及雙端隊(duì)列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

14.5 反向表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

14.6 集合與包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

14.7 字符串緩沖區(qū) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

14.8 圖形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

14.9 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

15 數(shù)據(jù)文件和序列化 159

15.1 數(shù)據(jù)文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

15.2 序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

15.2.1 保存不帶循環(huán)的表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

15.2.2 保存帶有循環(huán)的表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

15.3 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

16 編譯、執(zhí)行和錯(cuò)誤 171

16.1 編譯 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

16.2 預(yù)編譯的代碼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

16.3 錯(cuò)誤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

16.4 錯(cuò)誤處理和異常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

16.5 錯(cuò)誤信息和?;厮?nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

16.6 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

17 模塊和包 184

17.1 函數(shù) require . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

17.1.1 模塊重命名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 17.1.2 搜索路徑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

17.1.3 搜索器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

17.2 Lua 語(yǔ)言中編寫模塊的基本方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

17.3 子模塊和包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

17.4 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

第 3 部分 語(yǔ)言特性 196

18 迭代器和泛型 for 197

18.1 迭代器和閉包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

18.2 泛型 for 的語(yǔ)法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

18.3 無(wú)狀態(tài)迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

18.4 按順序遍歷表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

18.5 迭代器的真實(shí)含義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

18.6 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

19 小插曲:馬爾可夫鏈算法 208

19.1 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

20 元表和元方法 212

20.1 算術(shù)運(yùn)算相關(guān)的元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

20.2 關(guān)系運(yùn)算相關(guān)的元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

20.3 庫(kù)定義相關(guān)的元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

20.4 表相關(guān)的元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

20.4.1 __index 元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

20.4.2 __newindex 元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

20.4.3 具有默認(rèn)值的表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

20.4.4 跟蹤對(duì)表的訪問 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

20.4.5 只讀的表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

20.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 21 面向?qū)ο螅∣bject-Oriented)編程 226

21.1 類(Class) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

21.2 繼承(Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

21.3 多重繼承(Multiple Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . 232

21.4 私有性(Privacy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

21.5 單方法對(duì)象(Single-method Object) . . . . . . . . . . . . . . . . . . . . . . . . 237

21.6 對(duì)偶表示(Dual Representation) . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

21.7 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

22 環(huán)境(Environment) 241

22.1 具有動(dòng)態(tài)名稱的全局變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

22.2 全局變量的聲明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

22.3 非全局環(huán)境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

22.4 使用 _ENV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

22.5 環(huán)境和模塊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

22.6 _ENV 和 load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

22.7 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

23 垃圾收集 255

23.1 弱引用表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

23.2 記憶函數(shù)(Memorize Function) . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

23.3 對(duì)象屬性(Object Attribute) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

23.4 回顧具有默認(rèn)值的表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

23.5 瞬表(Ephemeron Table) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

23.6 析構(gòu)器(Finalizer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

23.7 垃圾收集器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

23.8 控制垃圾收集的步長(zhǎng)(Pace) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

23.9 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 24 協(xié)程(Coroutine) 270

24.1 協(xié)程基礎(chǔ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

24.2 哪個(gè)協(xié)程占據(jù)主循環(huán) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

24.3 將協(xié)程用作迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

24.4 事件驅(qū)動(dòng)式編程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

24.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

25 反射(Reflection) 285

25.1 自省機(jī)制(Introspective Facility) . . . . . . . . . . . . . . . . . . . . . . . . . . 286

25.1.1 訪問局部變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

25.1.2 訪問非局部變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

25.1.3 訪問其他協(xié)程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

25.2 鉤子(Hook) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

25.3 調(diào)優(yōu)(Profile) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

25.4 沙盒(Sandbox) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

25.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

26 小插曲:使用協(xié)程實(shí)現(xiàn)多線程 301

26.1 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

第 4 部分 C 語(yǔ)言 API 307

27 C 語(yǔ)言 API 總覽 308

27.1 第一個(gè)示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

27.2 棧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

27.2.1 壓入元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

27.2.2 查詢?cè)?nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

27.2.3 其他棧操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

27.3 使用 C API 進(jìn)行錯(cuò)誤處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 27.3.1 處理應(yīng)用代碼中的錯(cuò)誤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

27.3.2 處理庫(kù)代碼中的錯(cuò)誤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

27.4 內(nèi)存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

27.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

28 擴(kuò)展應(yīng)用 325

28.1 基礎(chǔ)知識(shí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

28.2 操作表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

28.2.1 一些簡(jiǎn)便方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

28.3 調(diào)用 Lua 函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

28.4 一個(gè)通用的調(diào)用函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

28.5 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

29 在 Lua 中調(diào)用 C 語(yǔ)言 339

29.1 C 函數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

29.2 延續(xù)(Continuation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

29.3 C 模塊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

29.4 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

30 編寫 C 函數(shù)的技巧 349

30.1 數(shù)組操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

30.2 字符串操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

30.3 在 C 函數(shù)中保存狀態(tài) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

30.3.1 注冊(cè)表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

30.3.2 上值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

30.3.3 共享的上值(Shared upvalue) . . . . . . . . . . . . . . . . . . . . . . . . 361

30.4 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 31 C 語(yǔ)言中的用戶自定義類型 363

31.1 用戶數(shù)據(jù)(Userdata) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

31.2 元表(Metatable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

31.3 面向?qū)ο笤L問 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

31.4 數(shù)組訪問 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

31.5 輕量級(jí)用戶數(shù)據(jù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

31.6 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

32 管理資源 376

32.1 目錄迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

32.2 XML 解析器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

32.3 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

33 線程和狀態(tài) 392

33.1 多線程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

33.2 Lua 狀態(tài) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

33.3 練習(xí) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)