《Ruby基礎教程:第4版》是2015年人民郵電出版社出版的圖書,作者是〔日〕高橋征義、〔日〕後藤裕藏。
基本介紹
- 書名:Ruby基礎教程:第4版
- 作者:〔日〕高橋征義、〔日〕後藤裕藏
- 譯者:何文斯
- ISBN:7115366462
- 出版社:人民郵電出版社
- 出版時間:2015-8-9
作品簡介,作者簡介,譯者簡介,作品目錄,
作品簡介
本書為日本公認的最好的Ruby入門教程。松本行弘親自審校並作序推薦。本書支持最新的Ruby 2.0,也附帶講解了可運行於1.9版本的代碼,事無巨細且通俗易懂地講解了編寫程式時所需要的變數、常量、方法、類、流程控制等的語法,以及主要類的使用方法和簡單的套用,讓沒有編程經驗的讀者也能輕鬆掌握Ruby,找到屬於自己的快樂編程方式,做到融會貫通並靈活運用到實際工作中。
本書適合Ruby初學者學習參考,有一定Ruby編程基礎的讀者若想再回顧一下Ruby的各知識點,本書也能提供不少幫助。
作者簡介
高橋征義(Masayoshi Takahashi)
日本Ruby協會創始人兼會長。日本著名的IT書籍電子書平台達人出版會董事長。著有《Ruby基礎教程》《Rails3絕技190招》等。喜歡的作家是新井素子。
後藤裕藏(Yuuzou Gotou)
日本網路套用通信研究所董事。喜歡平克・弗洛伊德樂隊。
松本行弘(Yukihiro Matsumoto)
Ruby語言發明者,亦是亞洲首屈一指的程式語言發明者。現兼任網路套用通信研究所(NaCl)研究員、樂天技術研究所研究員、Heroku首席架構師等。暱稱“Matz”。討厭東京,喜歡溫泉。
譯者簡介
何文斯
上海交通大學電子工程系研究生畢業,現就職於某國際獨立軟體開發商,從事軟體售後支持工作。對面向對象的程式設計,腳本語言及其在語音、圖像等信號處理中的套用有著濃厚的興趣。
作品目錄
Ruby基礎教程:第4版
推薦序
譯者序
前言
本書的讀者對象
0.1 關於 Ruby
0.2 本書的讀者對象
0.3 本書的構成
0.4 Ruby 的運行環境
第 1 部分 Ruby 初體驗
第 1 章 Ruby 初探
1.1 Ruby 的運行方法
1.1.1 ruby 命令的執行方法
1.1.2 irb 命令的執行方法
1.2 程式解說
1.2.1 對象
1.2.2 方法
1.3 字元串
1.3.1 換行符與 \
1.3.2 ' ' 與 " "
1.4 方法的調用
1.5 puts 方法
1.6 p 方法
1.7 中文的輸出
1.8 數值表示與計算
1.8.1 數值
1.8.2 四則運算
1.8.3 數學相關的函式
1.9 變數
print方法和變數
1.10 注釋
1.11 控制語句
控制語句的分類
1.12 條件判斷:if~then~end
1.13 循環
1.13.1 while 語句
1.13.2 times 方法
第 2 章 便利的對象
2.1 數組
2.1.1 數組的創建
2.1.2 數組對象
2.1.3 從數組中抽取對象
2.1.4 將對象保存到數組中
2.1.5 數組的元素
2.1.6 數組的大小
2.1.7 數組的循環
2.2 散列
2.2.1 什麼是符號
2.2.2 散列的創建
2.2.3 散列的使用
2.2.4 散列的循環
2.3 正則表達式
模式與匹配
第 3 章 創建命令
3.1 命令行的輸入數據
3.2 檔案的讀取
3.2.1 從檔案中讀取內容並輸出
3.2.2 從檔案中逐行讀取內容並輸出
3.2.3 從檔案中讀取指定模式的內容並輸出
3.3 方法的定義
3.4 其他檔案的引用
第 2 部分 Ruby 的基礎
第 4 章 對象、變數和常量
4.1 對象
4.2 類
4.3 變數
局部變數與全局變數
4.4 常量
4.5 保留字
4.6 多重賦值
4.6.1 合併執行多個賦值操作
4.6.2 置換變數的值
4.6.3 獲取數組的元素
4.6.4 獲取嵌套數組的元素
第 5 章 條件判斷
5.1 什麼是條件判斷
5.2 Ruby 中的條件
條件與真假值
5.3 邏輯運算符
5.4 if 語句
5.5 unless 語句
5.6 case 語句
5.7 if 修飾符與 unless 修飾符
5.8 總結
第 6 章 循環
6.1 循環的基礎
6.2 循環時的注意事項
6.3 實現循環的方法
6.4 times 方法
6.5 for 語句
6.6 普通的 for 語句
6.7 while 語句
6.8 until 語句
6.9 each 方法
6.10 loop 方法
6.11 循環控制
6.11.1 break
6.11.2 next
6.11.3 redo
6.12 總結
第 7 章 方法
7.1 方法的調用
7.1.1 簡單的方法調用
7.1.2 帶塊的方法調用
7.1.3 運算符形式的方法調用
7.2 方法的分類
7.2.1 實例方法
7.2.2 類方法
7.2.3 函式式方法
7.3 方法的定義
7.3.1 方法的返回值
7.3.2 定義帶塊的方法
7.3.3 參數個數不確定的方法
7.3.4 關鍵字參數
7.3.5 關於方法調用的一些補充
第 8 章 類和模組
8.1 類是什麼
8.1.1 類和實例
8.1.2 繼承
8.2 類的創建
8.2.1 class 關鍵字
8.2.2 initialize 方法
8.2.3 實例變數與實例方法
8.2.4 存取器
8.2.5 特殊變數 self
8.2.6 類方法
8.2.7 常量
8.2.8 類變數
8.2.9 限制方法的調用
8.3 擴展類
8.3.1 在原有類的基礎上添加方法
8.3.2 繼承
8.4 alias 與 undef
8.4.1 alias
8.4.2 undef
8.5 模組是什麼
8.6 模組的使用方法
8.6.1 提供命名空間
8.6.2 利用 Mix-in 擴展功能
8.7 創建模組
8.7.1 常量
8.7.2 方法的定義
8.8 Mix-in
8.8.1 查找方法的規則
8.8.2 extend 方法
8.8.3 類與 Mix-in
8.9 面向對象程式設計
8.9.1 對象是什麼
8.9.2 面向對象的特徵
8.9.3 鴨子類型
8.9.4 面向對象的例子
第 9 章 運算符
9.1 賦值運算符
9.2 邏輯運算符的套用
9.3 條件運算符
9.4 範圍運算符
9.5 運算符的優先權
9.6 定義運算符
9.6.1 二元運算符
9.6.2 一元運算符
9.6.3 下標方法
第 10 章 錯誤處理與異常
10.1 關於錯誤處理
10.2 異常處理
10.3 異常處理的寫法
10.4 後處理
10.5 重試
10.6 rescue 修飾符
10.7 異常處理語法的補充
10.8 指定需要捕捉的異常
10.9 異常類
10.10 主動拋出異常
第 11 章 塊
11.1 塊是什麼
11.2 塊的使用方法
11.2.1 循環
11.2.2 隱藏常規處理
11.2.3 替換部分算法
11.3 定義帶塊的方法
11.3.1 執行塊
11.3.2 傳遞塊參數,獲取塊的值
11.3.3 控制塊的執行
11.3.4 將塊封裝為對象
11.4 局部變數與塊變數
第 3 部分 Ruby 的類
第 12 章 數值類
12.1 數值類的構成
12.2 數值的字面量
12.3 算數運算
除法
12.4 Math 模組
12.5 數值類型轉換
12.6 位運算
12.7 隨機數
12.8 計數
12.9 近似值誤差
練習題
第 13 章 數組類
13.1 複習數組
13.2 數組的創建方法
13.2.1 使用 Array.new
13.2.2 使用 %w 與 %i
13.2.3 使用 to_a 方法
13.2.4 使用字元串的 split 方法
13.3 索引的使用方法
13.3.1 獲取元素
13.3.2 元素賦值
13.3.3 插入元素
13.3.4 通過多個索引創建數組
13.4 作為集合的數組
“|”與“+”的不同點
13.5 作為列的數組
13.6 主要的數組方法
13.6.1 為數組添加元素
13.6.2 從數組中刪除元素
13.6.3 替換數組元素
13.7 數組與疊代器
13.8 處理數組中的元素
13.8.1 使用循環與索引
13.8.2 使用 each 方法逐個獲取元素
13.8.3 使用具有破壞性的方法實現循環
13.8.4 使用其他疊代器
13.8.5 創建專用的疊代器
13.9 數組的元素
13.9.1 使用簡單的矩陣
13.9.2 初始化時的注意事項
13.10 同時訪問多個數組
練習題
第 14 章 字元串類
14.1 字元串的創建
14.1.1 使用 %Q 與 %q
14.1.2 使用 Here Document
14.1.3 使用 sprintf 方法
14.1.4 使用 ``
14.2 獲取字元串的長度
14.3 字元串的索引
14.4 字元串的連線
14.5 字元串的比較
14.5.1 字元串的大小比較
14.6 字元串的分割
14.7 換行符的使用方法
14.8 字元串的檢索與置換
14.8.1 字元串的檢索
14.8.2 字元串的置換
14.9 字元串與數組的共同方法
14.9.1 與索引操作相關的方法
14.9.2 返回 Enumerator 對象的方法
14.9.3 與連線、反轉(reverse)相關的方法
14.10 其他方法
14.11 日語字元編碼的轉換
14.11.1 encode 方法
14.11.2 nkf 庫
練習題
第 15 章 散列類
15.1 複習散列
15.2 散列的創建
15.2.1 使用 {}
15.2.2 使用 Hash.new
15.3 值的獲取與設定
15.3.1 一次性獲取所有的鍵、值
15.3.2 散列的默認值
15.4 查看指定對象是否為散列的鍵或值
15.5 查看散列的大小
15.6 刪除鍵值
15.7 初始化散列
處理有兩個鍵的散列
15.8 套用示例:計算單詞數量
練習題
第 16 章 正則表達式類
16.1 關於正則表達式
16.1.1 正則表達式的寫法與用法
16.1.2 正則表達式對象的創建方法
16.2 正則表達式的模式與匹配
16.2.1 匹配普通字元
16.2.2 匹配行首與行尾
16.2.3 指定匹配字元的範圍
16.2.4 匹配任意字元
16.2.5 使用反斜槓的模式
16.2.6 重複
16.2.7 最短匹配
16.2.8 () 與重複
16.2.9 選擇
16.3 使用 quote 方法的正則表達式
16.4 正則表達式的選項
16.5 捕獲
16.6 使用正則表達式的方法
16.6.1 sub 方法與 gsub 方法
16.6.2 scan 方法
16.7 正則表達式的例子
練習題
第 17 章 IO 類
17.1 輸入 / 輸出的種類
17.1.1 標準輸入 / 輸出
17.1.2 檔案輸入 / 輸出
17.2 基本的輸入 / 輸出操作
17.2.1 輸入操作
17.2.2 輸出操作
17.3 檔案指針
17.4 二進制模式與文本模式
17.5 緩衝
17.6 與命令進行互動
17.7 open-uri 庫
17.8 stringio 庫
練習題
第 18 章 File 類與 Dir 類
18.1 File 類
18.1.1 變更檔案名稱
18.1.2 複製檔案
18.1.3 刪除檔案
18.2 目錄的操作
18.2.1 目錄內容的讀取
18.2.2 目錄的創建與刪除
18.3 檔案與目錄的屬性
FileTest 模組
18.4 檔案名稱的操作
18.5 與操作檔案相關的庫
18.5.1 find 庫
18.5.2 tempfile 庫
18.5.3 fileutils 庫
練習題
第 19 章 Encoding 類
19.1 Ruby 的編碼與字元串
19.2 腳本編碼與魔法注釋
19.3 Encoding 類
Encoding 類的方法
19.4 正則表達式與編碼
19.5 IO 類與編碼
19.5.1 外部編碼與內部編碼
19.5.2 編碼的設定
19.5.3 編碼的作用
練習題
第 20 章 Time 類與 Date 類
20.1 Time 類與 Date 類
20.2 時間的獲取
20.3 時間的計算
20.4 時間的格式
20.5 本地時間
20.6 從字元串中獲取時間
20.7 日期的獲取
20.8 日期的運算
20.9 日期的格式
20.10 從字元串中獲取日期
練習題
第 21 章 Proc 類
21.1 Proc 類是什麼
21.1.1 lambda
21.1.2 通過 Proc 參數接收塊
21.1.3 to_proc 方法
21.2 Proc 的特徵
21.3 Proc 類的實例方法
練習題
第 4 部分 動手製作工具
第 22 章 文本處理
22.1 準備文本
22.1.1 下載檔案
22.1.2 獲取正文
22.1.3 刪除標籤
22.2 擴展 simple_grep.rb :顯示次數
計算匹配行
22.3 擴展 simple_grep.rb :顯示匹配的部分
22.3.1 突出匹配到的位置
22.3.2 顯示前後各 10 個字元
22.3.3 讓前後的字元數可變更
第 23 章 檢索郵政編碼
23.1 獲取郵政編碼
23.2 檢索郵政編碼
23.3 sqlite3 庫
23.4 插入數據
23.5 檢索數據
23.6 總結
附錄
附錄 A Ruby 運行環境的構建
A.1 Ruby 的安裝
A.2 在 Windows 下安裝
A.2.1 開始安裝
A.2.2 同意軟體使用許可協定
A.2.3 確認安裝路徑以及選項
A.2.4 安裝進度
A.2.5 安裝完成
A.2.6 啟動控制台
A.3 在 Mac OS X 下安裝
通過 MacPorts 安裝
A.4 在 Unix 下安裝
A.4.1 從原始碼編譯
A.4.2 使用二進制軟體包
A.4.3 使用 Ruby 軟體包管理工具
A.5 編輯器與 IDE
沒有好用的編輯器就不能編寫 Ruby 程式嗎
附錄 B Ruby 參考集
B.1 RubyGems
gem 命令
B.2 Ruby 參考手冊
B.2.1 Web 上的資源
B.2.2 ri 命令
B.2.3 閱讀參考手冊的技巧
B.3 命令行選項
B.4 預定義變數、常量
B.4.1 預定義變數
B.4.2 預定義常量
B.4.3 偽變數
B.4.4 環境變數
B.5 錯誤信息
B.5.1 syntax error
B.5.2 NameError/NoMethodError
B.5.3 ArgumentError
B.5.4 TypeError
B.5.5 LoadError
B.5.6 [BUG]
後記
謝辭
兩位著者的謝辭
高橋征義的謝辭
後藤裕藏的謝辭