定 價(jià):¥79.00
作 者: | (日)高橋征義 后藤裕藏 著,何文斯 譯 |
出版社: | 人民郵電出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 編程語(yǔ)言與程序設(shè)計(jì) 計(jì)算機(jī)?網(wǎng)絡(luò) |
ISBN: | 9787115462947 | 出版時(shí)間: | 2017-08-01 | 包裝: | |
開(kāi)本: | 頁(yè)數(shù): | 字?jǐn)?shù): |
第1部分 Ruby初體驗(yàn)
第1章 Ruby初探 2
1.1 Ruby的運(yùn)行方法 3
1.1.1 ruby命令的執(zhí)行方法 3
1.1.2 irb命令的執(zhí)行方法 4
1.2 程序解說(shuō) 5
1.2.1 對(duì)象 5
1.2.2 方法 5
1.3 字符串 6
1.3.1 換行符與\ 6
1.3.2 ' '與" " 7
1.4 方法的調(diào)用 7
1.5 puts方法 8
1.6 p方法 8
1.7 中文的輸出 9
1.8 數(shù)值表示與計(jì)算 11
1.8.1 數(shù)值 11
1.8.2 四則運(yùn)算 11
1.8.3 數(shù)學(xué)相關(guān)的函數(shù) 12
1.9 變量 13
1.10 注釋 14
1.11 控制語(yǔ)句 15
1.12 條件判斷:if~then~end 16
1.13 循環(huán) 18
1.13.1 while語(yǔ)句 18
1.13.2 times方法 18
第2章 便利的對(duì)象 19
2.1 數(shù)組 20
2.1.1 數(shù)組的創(chuàng)建 20
2.1.2 數(shù)組對(duì)象 20
2.1.3 從數(shù)組中抽取對(duì)象 20
2.1.4 將對(duì)象保存到數(shù)組中 21
2.1.5 數(shù)組的元素 22
2.1.6 數(shù)組的大小 22
2.1.7 數(shù)組的循環(huán) 23
2.2 散列 24
2.2.1 什么是符號(hào) 24
2.2.2 散列的創(chuàng)建 25
2.2.3 散列的使用 25
2.2.4 散列的循環(huán) 26
2.3 正則表達(dá)式 26
第3章 創(chuàng)建命令 29
3.1 命令行的輸入數(shù)據(jù) 29
3.2 文件的讀取 30
3.2.1 從文件中讀取內(nèi)容并輸出 31
3.2.2 從文件中逐行讀取內(nèi)容并輸出 32
3.2.3 從文件中讀取指定模式的內(nèi)容
并輸出 33
3.3 方法的定義 34
3.4 其他文件的引用 34
第2部分 Ruby的基礎(chǔ)
第4章 對(duì)象、變量和常量 38
4.1 對(duì)象 38
4.2 類(lèi) 39
4.3 變量 39
4.4 常量 42
4.5 保留字 42
4.6 多重賦值 43
4.6.1 合并執(zhí)行多個(gè)賦值操作 43
4.6.2 交換變量的值 43
4.6.3 獲取數(shù)組的元素 44
第5章 條件判斷 45
5.1 什么是條件判斷 45
5.2 Ruby中的條件 46
5.3 邏輯運(yùn)算符 47
5.4 if語(yǔ)句 48
5.5 unless語(yǔ)句 49
5.6 case語(yǔ)句 50
5.7 if修飾符與unless修飾符 53
5.8 總結(jié) 53
第6章 循環(huán) 56
6.1 循環(huán)的基礎(chǔ) 56
6.2 循環(huán)時(shí)的注意事項(xiàng) 57
6.3 實(shí)現(xiàn)循環(huán)的方法 57
6.4 times方法 57
6.5 for語(yǔ)句 59
6.6 普通的for語(yǔ)句 61
6.7 while語(yǔ)句 61
6.8 until語(yǔ)句 63
6.9 each方法 64
6.10 loop方法 65
6.11 循環(huán)控制 65
6.11.1 break 66
6.11.2 next 67
6.12 小結(jié) 69
第7章 方法 71
7.1 方法的調(diào)用 71
7.1.1 簡(jiǎn)單的方法調(diào)用 71
7.1.2 帶塊的方法調(diào)用 72
7.1.3 運(yùn)算符形式的方法調(diào)用 72
7.2 方法的分類(lèi) 73
7.2.1 實(shí)例方法 73
7.2.2 類(lèi)方法 74
7.2.3 函數(shù)式方法 74
7.3 方法的定義 75
7.3.1 方法的返回值 76
7.3.2 定義帶塊的方法 77
7.3.3 參數(shù)個(gè)數(shù)不確定的方法 78
7.3.4 關(guān)鍵字參數(shù) 79
7.3.5 關(guān)于方法調(diào)用的一些補(bǔ)充 81
第8章 類(lèi)和模塊 85
8.1 類(lèi)是什么 85
8.1.1 類(lèi)和實(shí)例 85
8.1.2 繼承 87
8.2 創(chuàng)建類(lèi) 88
8.2.1 class語(yǔ)句 89
8.2.2 initialize方法 89
8.2.3 實(shí)例變量與實(shí)例方法 90
8.2.4 存取器 91
8.2.5 特殊變量self 92
8.2.6 類(lèi)方法 93
8.2.7 常量 94
8.2.8 類(lèi)變量 94
8.2.9 限制方法的調(diào)用 95
8.3 擴(kuò)展類(lèi) 97
8.3.1 在原有類(lèi)的基礎(chǔ)上添加方法 97
8.3.2 繼承 97
8.4 alias與undef 99
8.4.1 alias 99
8.4.2 undef 100
8.5 單例類(lèi) 100
8.6 模塊是什么 101
8.7 模塊的使用方法 101
8.7.1 利用Mix-in擴(kuò)展功能 101
8.7.2 提供命名空間 102
8.8 創(chuàng)建模塊 102
8.8.1 常量 103
8.8.2 方法的定義 103
8.9 Mix-in 104
8.9.1 查找方法的規(guī)則 105
8.9.2 extend方法 107
8.9.3 類(lèi)與Mix-in 108
8.10 面向?qū)ο蟪绦蛟O(shè)計(jì) 109
8.10.1 對(duì)象是什么 109
8.10.2 面向?qū)ο蟮奶卣?110
8.10.3 鴨子類(lèi)型 111
8.10.4 面向?qū)ο蟮睦?112
第9章 運(yùn)算符 115
9.1 賦值運(yùn)算符 115
9.2 邏輯運(yùn)算符的應(yīng)用 116
9.3 條件運(yùn)算符 118
9.4 范圍運(yùn)算符 118
9.5 運(yùn)算符的優(yōu)先級(jí) 119
9.6 定義運(yùn)算符 120
9.6.1 二元運(yùn)算符 120
9.6.2 一元運(yùn)算符 122
9.6.3 下標(biāo)方法 123
第10章 錯(cuò)誤處理與異常 124
10.1 關(guān)于錯(cuò)誤處理 124
10.2 異常處理 125
10.3 異常處理的寫(xiě)法 126
10.4 后處理 129
10.5 重試 129
10.6 rescue修飾符 130
10.7 異常處理語(yǔ)法的補(bǔ)充 130
10.8 指定需要捕捉的異常 131
10.9 異常類(lèi) 132
10.10 主動(dòng)拋出異常 133
第11章 塊 136
11.1 塊是什么 136
11.2 塊的使用方法 137
11.2.1 循環(huán) 137
11.2.2 隱藏常規(guī)處理 138
11.2.3 替換部分算法 139
11.3 定義帶塊的方法 142
11.3.1 執(zhí)行塊 142
11.3.2 傳遞塊參數(shù),獲取塊的值 142
11.3.3 控制塊的執(zhí)行 144
11.3.4 將塊封裝為對(duì)象 145
11.4 局部變量與塊變量 146
第3部分 Ruby的類(lèi)
第12章 數(shù)值類(lèi) 152
12.1 數(shù)值類(lèi)的構(gòu)成 152
12.2 數(shù)值的字面量 154
12.3 算數(shù)運(yùn)算 155
12.4 Math模塊 157
12.5 數(shù)值類(lèi)型轉(zhuǎn)換 158
12.6 位運(yùn)算 159
12.7 隨機(jī)數(shù) 161
12.8 計(jì)數(shù) 163
12.9 近似值誤差 164
第13章 數(shù)組類(lèi) 167
13.1 復(fù)習(xí)數(shù)組 168
13.2 數(shù)組的創(chuàng)建方法 168
13.2.1 使用Array.new 168
13.2.2 使用%w與%i 169
13.2.3 使用to_a方法 169
13.2.4 使用字符串的split方法 169
13.3 索引的使用方法 170
13.3.1 獲取元素 170
13.3.2 替換元素 172
13.3.3 插入元素 173
13.3.4 通過(guò)多個(gè)索引創(chuàng)建數(shù)組 174
13.4 作為集合的數(shù)組 174
13.4.1 集合的運(yùn)算 175
13.4.2 “|”與“+”的不同點(diǎn) 176
13.5 作為列的數(shù)組 176
13.6 主要的數(shù)組方法 178
13.6.1 為數(shù)組添加元素 178
13.6.2 從數(shù)組中刪除元素 180
13.6.3 替換數(shù)組元素 182
13.7 數(shù)組與迭代器 184
13.8 處理數(shù)組中的元素 184
13.8.1 使用循環(huán)與索引 184
13.8.2 使用each方法逐個(gè)獲取元素 185
13.8.3 使用具有破壞性的方法實(shí)現(xiàn)循環(huán) 185
13.8.4 使用其他迭代器 185
13.8.5 創(chuàng)建專(zhuān)用的迭代器 186
13.9 數(shù)組的元素 186
13.9.1 使用簡(jiǎn)單的矩陣 186
13.9.2 初始化時(shí)的注意事項(xiàng) 186
13.10 同時(shí)訪問(wèn)多個(gè)數(shù)組 188
第14章 字符串類(lèi) 191
14.1 字符串的創(chuàng)建 192
14.1.1 使用%Q與%q 193
14.1.2 使用Here Document 193
14.1.3 使用sprintf方法 194
14.1.4 使用` ` 194
14.2 獲取字符串的長(zhǎng)度 196
14.3 字符串的索引 197
14.4 字符串的連接 197
14.5 字符串的比較 198
14.6 字符串的分割 200
14.7 換行符的使用方法 201
14.8 字符串的檢索與替換 202
14.8.1 字符串的檢索 202
14.8.2 字符串的替換 203
14.9 字符串與數(shù)組的共同方法 203
14.9.1 與索引操作相關(guān)的方法 203
14.9.2 返回Enumerator對(duì)象的方法 204
14.9.3 與連接、反轉(zhuǎn)(reverse)相關(guān)的
方法 205
14.10 其他方法 206
14.11 日語(yǔ)字符編碼的轉(zhuǎn)換 207
14.11.1 encode方法 207
14.11.2 nkf庫(kù) 208
第15章 散列類(lèi) 211
15.1 復(fù)習(xí)散列 211
15.2 散列的創(chuàng)建 212
15.2.1 使用{} 212
15.2.2 使用Hash.new 212
15.3 值的獲取與設(shè)定 213
15.3.1 一次性獲取所有的鍵、值 214
15.3.2 散列的默認(rèn)值 214
15.4 查看指定對(duì)象是否為散列的鍵或值 215
15.5 查看散列的大小 216
15.6 刪除鍵值 216
15.7 初始化散列 217
15.8 合并兩個(gè)散列 219
15.9 應(yīng)用示例:計(jì)算單詞數(shù)量 219
第16章 正則表達(dá)式類(lèi) 223
16.1 關(guān)于正則表達(dá)式 223
16.1.1 正則表達(dá)式的寫(xiě)法與用法 223
16.1.2 正則表達(dá)式對(duì)象的創(chuàng)建方法 224
16.2 正則表達(dá)式的模式與匹配 224
16.2.1 匹配普通字符 225
16.2.2 匹配行首與行尾 225
16.2.3 指定匹配字符的范圍 226
16.2.4 匹配任意字符 228
16.2.5 使用反斜杠的模式 229
16.2.6 重復(fù) 230
16.2.7 最短匹配 232
16.2.8 ()與重復(fù) 233
16.2.9 選擇 233
16.3 使用quote方法的正則表達(dá)式 234
16.4 正則表達(dá)式的選項(xiàng) 234
16.5 捕獲 235
16.6 使用正則表達(dá)式的方法 236
16.6.1 sub方法與gsub方法 236
16.6.2 scan方法 237
16.7 正則表達(dá)式的例子 238
第17章 IO類(lèi) 241
17.1 輸入/輸出的種類(lèi) 241
17.1.1 標(biāo)準(zhǔn)輸入/輸出 241
17.1.2 文件輸入/輸出 243
17.2 基本的輸入/輸出操作 245
17.2.1 輸入操作 246
17.2.2 輸出操作 248
17.3 文件指針 249
17.4 二進(jìn)制模式與文本模式 250
17.5 緩沖 251
17.6 與命令進(jìn)行交互 254
17.7 open-uri庫(kù) 255
17.8 stringio庫(kù) 255
第18章 File類(lèi)與Dir類(lèi) 258
18.1 File類(lèi) 258
18.1.1 變更文件名 259
18.1.2 復(fù)制文件 259
18.1.3 刪除文件 260
18.2 目錄的操作 260
18.2.1 目錄內(nèi)容的讀取 261
18.2.2 目錄的創(chuàng)建與刪除 264
18.3 文件與目錄的屬性 265
18.4 文件名的操作 268
18.5 與文件操作相關(guān)的庫(kù) 270
18.5.1 find庫(kù) 270
18.5.2 tempfile庫(kù) 271
18.5.3 fileutils庫(kù) 271
第19章 Encoding類(lèi) 274
19.1 Ruby的編碼與字符串 274
19.2 腳本編碼與魔法注釋 275
19.3 Encoding類(lèi) 276
19.4 正則表達(dá)式與編碼 280
19.5 IO類(lèi)與編碼 280
19.5.1 外部編碼與內(nèi)部編碼 280
19.5.2 編碼的設(shè)定 281
19.5.3 編碼的作用 281
第20章 Time類(lèi)與Date類(lèi) 284
20.1 Time類(lèi)與Date類(lèi) 284
20.2 獲取時(shí)間 285
20.3 計(jì)算時(shí)間 286
20.4 時(shí)間的格式 286
20.5 本地時(shí)間 288
20.6 從字符串中獲取時(shí)間 288
20.7 獲取日期 289
20.8 計(jì)算日期 290
20.9 日期的格式 291
20.10 從字符串中獲取日期 291
20.11 Time與Date的互相轉(zhuǎn)換 292
第21章 Proc類(lèi) 294
21.1 Proc類(lèi)是什么 294
21.1.1 lambda表達(dá)式 295
21.1.2 通過(guò)Proc參數(shù)接收塊 297
21.1.3 to_proc方法 298
21.2 Proc的特征 298
21.3 Proc類(lèi)的實(shí)例方法 299
第4部分 動(dòng)手制作工具
第22章 文本處理 304
22.1 準(zhǔn)備文本 304
22.1.1 下載文件 304
22.1.2 獲取正文 305
22.1.3 刪除標(biāo)簽 306
22.2 擴(kuò)展simple_grep.rb:顯示次數(shù) 308
22.3 擴(kuò)展simple_grep.rb:顯示匹配的部分 309
22.3.1 突出匹配到的位置 310
22.3.2 顯示前后各10個(gè)字符 310
22.3.3 讓前后的字符數(shù)可變更 312
第23章 檢索郵政編碼 313
23.1 獲取郵政編碼 313
23.2 csv庫(kù) 314
23.3 sqlite3庫(kù) 315
23.4 插入數(shù)據(jù) 317
23.5 檢索數(shù)據(jù) 319
23.6 小結(jié) 320
附錄
附錄A 搭建Ruby運(yùn)行環(huán)境 322
A.1 安裝Ruby 322
A.2 在Windows下安裝 322
A.2.1 開(kāi)始安裝 323
A.2.2 同意軟件使用許可協(xié)議 323
A.2.3 確認(rèn)安裝路徑以及選項(xiàng) 323
A.2.4 安裝進(jìn)度 324
A.2.5 安裝完成 324
A.2.6 啟動(dòng)控制臺(tái) 325
A.3 在Mac OS X下安裝 327
A.4 在Unix下安裝 327
A.4.1 從源代碼編譯 328
A.4.2 使用二進(jìn)制軟件包 328
A.4.3 使用Ruby軟件包管理工具 328
A.5 編輯器與IDE 329
附錄B Ruby參考集 331
B.1 RubyGems 331
B.2 命令行選項(xiàng) 333
B.3 預(yù)定義變量、常量 335
B.3.1 預(yù)定義變量 335
B.3.2 預(yù)定義常量 336
B.3.3 偽變量 336
B.3.4 環(huán)境變量 337
后記 338
謝辭 339