本書(shū)作者為Raku這種新的編程語(yǔ)言提供了全面詳盡的介紹。內(nèi)容包括:數(shù)字、字符串、代碼塊和positional;文件、目錄和輸入/輸出;關(guān)聯(lián)、子例程、類和角色;junction和set;正則表達(dá)式和內(nèi)置文法;并發(fā)特性:promise、supply和channel;控制外部程序和其他高級(jí)特性。
brian d foy是一位多產(chǎn)的Perl培訓(xùn)師和作者,他創(chuàng)辦的The Perl Review通過(guò)教育、咨詢、代碼審查等工作著力幫助人們使用和理解Perl。他經(jīng)常在Perl大會(huì)上發(fā)表演講,另外他還合作撰寫(xiě)了《Learning Perl》《Intermediate Perl》和《Effective Perl Programming》,并著有《Mastering Perl》。
目錄
序 .1
前言 .3
第1 章 概論 13
1.1 為什么使用Perl 6? . 13
1.2 REPL 入門(mén) 14
1.3 閱讀文檔 16
1.4 基本語(yǔ)法 17
1.4.1 項(xiàng) 17
1.4.2 操作符和表達(dá)式 . 18
1.4.3 語(yǔ)句 21
1.4.4 代碼塊 . 21
1.4.5 注釋 22
1.4.6 空白隱身. 23
1.4.7 對(duì)象和類. 24
1.5 變量 25
1.5.1 簡(jiǎn)單輸出. 27
1.5.2 詞法作用域 27
1.5.3 預(yù)定義變量 29
1.6 建立和運(yùn)行一個(gè)程序 . 30
1.7 小結(jié) 31
第2 章 猜數(shù) 32
2.1 綁定和賦值 . 32
2.2 MAIN 程序 . 33
2.2.1 程序參數(shù). 34
2.2.2 提示輸入值 36
2.3 字面數(shù) 37
格式化數(shù)字 39
2.4 數(shù)值操作 40
2.5 條件執(zhí)行 43
2.5.1 布爾值 . 43
2.5.2 比較 46
2.5.3 條件分支. 50
2.6 匯總 53
2.7 小結(jié) 55
第3 章 數(shù)字 56
3.1 數(shù)值類型 56
3.2 整數(shù) 57
3.2.1 類型約束. 58
3.2.2 智能匹配. 59
3.3 有理數(shù) 61
3.4 虛數(shù)和復(fù)數(shù) . 64
3.5 非常小和非常大的數(shù) . 66
3.6 數(shù)值層次結(jié)構(gòu) 67
3.7 小結(jié) 68
第4 章 字符串 69
4.1 字面量引號(hào) . 69
4.2 轉(zhuǎn)義字符串 . 71
4.2.1 引號(hào)副詞. 72
4.2.2 字符串操作符和方法 73
4.2.3 查看字符串 74
4.2.4 標(biāo)準(zhǔn)字素. 76
4.2.5 字符串比較 77
4.2.6 提示輸入. 79
4.2.7 數(shù)字到字符串轉(zhuǎn)換 . 81
4.2.8 字符串到數(shù)字轉(zhuǎn)換 . 82
4.3 插值字符串 . 83
4.4 Here Doc 87
4.5 Shell 字符串 88
Shell 安全 89
4.6 更酷的引號(hào) . 90
4.7 小結(jié) 92
第5 章 基本代碼塊 .93
5.1 代碼塊 93
5.1.1 詞法作用域 94
5.1.2 控制結(jié)構(gòu). 95
5.1.3 Phaser 98
5.1.4 存儲(chǔ)代碼塊 . 101
5.1.5 有參數(shù)的代碼塊 102
5.2 簡(jiǎn)單子例程 106
命名子例程. 108
5.3 Whatever 代碼 109
子集 110
5.4 小結(jié) . 111
第6 章 Positional . 112
6.1 構(gòu)造列表 112
迭代所有元素 116
6.2 范圍 . 120
@ 強(qiáng)制轉(zhuǎn)換操作符 . 122
6.3 序列 . 123
6.3.1 無(wú)限惰性列表 124
6.3.2 收集值 127
6.4 單元素訪問(wèn) 128
6.4.1 改變一個(gè)元素 131
6.4.2 多元素訪問(wèn) . 131
6.5 數(shù)組 . 132
6.5.1 構(gòu)造數(shù)組 133
6.5.2 插值數(shù)組 134
6.5.3 數(shù)組操作 135
6.5.4 列表的列表 . 137
6.5.5 扁平列表 138
6.5.6 有趣的子列表 139
6.6 組合列表 140
6.6.1 Zip 操作符Z 140
6.6.2 交叉操作符X 142
6.6.3 超操作符 142
6.6.4 歸約操作符 . 143
6.7 過(guò)濾列表 145
6.8 轉(zhuǎn)換列表 146
6.9 列表排序 147
6.10 基于多重比較的排序 149
6.11 小結(jié) 151
第7 章 出現(xiàn)問(wèn)題時(shí) 152
7.1 異常 . 152
7.1.1 捕獲異常 153
7.1.2 Backtrace . 156
7.1.3 重新拋出錯(cuò)誤 159
7.1.4 拋出你自己的異常 160
7.1.5 定義你自己的異常類型 161
7.2 Failure . 162
7.3 警告 . 163
7.4 關(guān)于異常的箴言 164
7.5 小結(jié) . 164
第8 章 文件和目錄、輸入和輸出 165
8.1 文件路徑 165
8.1.1 文件測(cè)試操作符 167
8.1.2 文件元數(shù)據(jù) . 169
8.1.3 鏈接文件和解除鏈接 . 171
8.1.4 重命名和復(fù)制文件 173
8.2 管理目錄 174
8.2.1 目錄清單 175
8.2.2 創(chuàng)建目錄 176
8.2.3 刪除目錄 177
8.3 格式化輸出 178
常見(jiàn)格式化任務(wù) 180
8.4 標(biāo)準(zhǔn)文件句柄 . 181
8.4.1 標(biāo)準(zhǔn)輸出 181
8.4.2 標(biāo)準(zhǔn)錯(cuò)誤 182
8.4.3 標(biāo)準(zhǔn)輸入 183
8.5 讀取輸入 184
8.5.1 讀取行 184
8.5.2 讀取文件 185
8.6 寫(xiě)輸出 187
打開(kāi)一個(gè)要寫(xiě)的文件 . 187
8.7 二進(jìn)制文件 188
8.7.1 移動(dòng) 189
8.7.2 寫(xiě)二進(jìn)制文件 190
8.8 小結(jié) . 190
第9 章 關(guān)聯(lián) 191
9.1 Pair 191
9.1.1 副詞 192
9.1.2 修改Pair 193
9.2 Map 194
9.2.1 檢查鍵 195
9.2.2 從Positional 創(chuàng)建Map . 196
9.2.3 檢查可取值 . 197
9.3 Hash . 198
用散列累加. 200
9.4 多級(jí)散列 202
9.5 小結(jié) . 203
第10 章 使用模塊 . 204
10.1 安裝模塊 . 204
10.2 加載模塊 . 205
10.2.1 查找模塊 206
10.2.2 詞法作用 209
10.2.3 運(yùn)行時(shí)加載模塊 210
10.3 從Web 獲取數(shù)據(jù) 213
10.4 Perl 6 中運(yùn)行Perl 5 213
10.5 小結(jié) 214
第11 章 子例程 . 215
11.1 一個(gè)基本子例程 215
11.1.1 額外參數(shù) 216
11.1.2 顯式返回 217
11.2 遞歸 218
使用迭代而不是遞歸 . 219
11.3 子例程存儲(chǔ)在庫(kù)中 . 220
導(dǎo)出子例程. 221
11.4 位置參數(shù) . 221
11.4.1 Slurpy 參數(shù) 222
11.4.2 二者兼得 224
11.4.3 結(jié)合Slurpy 225
11.4.4 可選和默認(rèn)參數(shù) . 226
11.4.5 參數(shù)特性 227
11.4.6 參數(shù)約束 228
11.5 同名但簽名不同 229
11.5.1 字面量值參數(shù) . 229
11.5.2 實(shí)參個(gè)數(shù) 230
11.5.3 參數(shù)類型 231
11.6 命名參數(shù) . 233
11.6.1 必要命名參數(shù) . 234
11.6.2 自動(dòng)的命名參數(shù) . 234
11.6.3 混合參數(shù) 235
11.7 返回類型 . 236
11.8 小結(jié) 237
第12 章 類 238
12.1 第一個(gè)類 . 238
12.2 定義方法 . 240
12.2.1 私有方法 240
12.2.2 定義子例程 241
12.3 對(duì)象 242
12.3.1 私有屬性 242
12.3.2 公共屬性 245
12.4 multi 方法 246
12.5 繼承類型 . 248
12.5.1 檢查繼承 250
12.5.2 Stub 方法 251
12.6 控制對(duì)象創(chuàng)建 251
12.6.1 構(gòu)建對(duì)象 253
12.6.2 調(diào)整對(duì)象 255
12.7 私有類 . 256
12.8 小結(jié) 257
第13 章 角色 . 258
13.1 為類增加行為 258
13.1.1 應(yīng)用多個(gè)角色 . 260
13.2 角色中的方法 261
13.3 消除角色沖突 262
13.4 匿名角色 . 264
13.5 小結(jié) 266
第14 章 Junction 和Set 267
14.1 Junction 267
14.1.1 any 267
14.1.2 all 271
14.1.3 one 272
14.1.4 none . 273
14.1.5 一些關(guān)于Junction 的技巧 . 273
14.2 Set 274
Set 操作 277
14.3 小結(jié) 278
第15 章 正則表達(dá)式 279
15.1 匹配操作符 279
15.1.1 匹配操作符語(yǔ)法 280
15.1.2 成功匹配 281
15.1.3 定義模式 282
15.1.4 預(yù)定義模式 283
15.2 匹配非字面量字符 . 285
15.2.1 匹配任意字符 . 285
15.2.2 字符的匹配類型 288
15.2.3 用戶自定義字符類 290
15.3 匹配副詞 . 293
15.3.1 匹配大小寫(xiě) 293
15.3.2 忽略標(biāo)記 295
15.3.3 全局匹配 295
15.4 關(guān)于模式使用 296
替換 297
15.5 小結(jié) 297
第16 章 更酷的正則表達(dá)式 298
16.1 量詞 298
16.1.1 0 或多個(gè). 299
16.1.2 貪婪性 300
16.1.3 0 或1 個(gè). 300
16.1.4 最小和最大 301
16.2 控制量詞 . 302
關(guān)閉回溯 . 303
16.3 捕獲 304
16.3.1 命名捕獲 305
16.3.2 捕獲樹(shù) 306
16.3.3 反向引用 308
16.4 包圍符和分隔符 309
16.5 斷言 311
16.5.1 錨 311
16.5.2 條件 . 312
16.5.3 代碼斷言 314
16.6 候選項(xiàng) . 316
16.6.1 第一個(gè)匹配 316
16.6.2 最長(zhǎng)Token 匹配 318
16.7 小結(jié) 320
第17 章 文法 . 321
17.1 一個(gè)簡(jiǎn)單的文法 321
17.2 多個(gè)規(guī)則 . 325
17.3 調(diào)試文法 . 326
17.3.1 Grammar::Tracer 326
17.3.2 Grammar::Debugger . 327
17.4 一個(gè)簡(jiǎn)單的動(dòng)作類 . 328
創(chuàng)建一個(gè)抽象語(yǔ)法樹(shù) . 329
17.5 避免回溯 . 331
17.6 解析JSON . 332
17.7 解析CSV 335
17.7.1 調(diào)整文法 338
17.7.2 文法中使用角色 339
17.8 小結(jié) 340
第18 章 Supply、Channel 和Promise 341
18.1 Supply 341
18.1.1 多個(gè)Tap 343
18.1.2 現(xiàn)場(chǎng)Supply . 344
18.2 Channel 346
18.3 Promise 348
18.3.1 等待Promise 349
18.3.2 等待多個(gè)Promise . 350
18.3.3 管理自己的Promise 351
18.3.4 Promise Junction 353
18.4 響應(yīng)式編程 354
在后臺(tái)響應(yīng). 357
18.5 小結(jié) 359
第19 章 控制其他程序 361
19.1 快速簡(jiǎn)便 . 361
19.1.1 加引號(hào)的命令 . 363
19.1.2 更安全的命令 . 363
19.1.3 寫(xiě)到Proc 365
19.2 Proc 366
19.3 異步控制 . 367
19.4 小結(jié) 368
第20 章 高級(jí)主題 . 369
20.1 單行程序 . 369
20.2 聲明符代碼塊注釋 . 370
20.3 Feed 操作符 370
20.4 分解簽名 . 371
20.5 定義你自己的操作符 371
20.6 Perl 5 模式 . 372
20.7 異型數(shù)組 . 372
20.8 有類型的容器 373
20.9 NativeCall 373
20.10 with 主題 374
第21 章 結(jié)束語(yǔ) . 375
術(shù)語(yǔ)表 377
附錄 練習(xí)答案 391
作者介紹 481
封面介紹 481