Linux中國

通過開源書籍學習 Ruby 編程

開源的 Ruby 書籍

Ruby 是由 Yukihiro 「Matz」 Matsumoto 開發的一門通用目的、腳本化、結構化、靈活且完全面向對象的編程語言。它具有一個完全動態類型系統,這意味著它的大多數類型檢查是在運行的時候進行,而非編譯的時候。因此程序員不必過分擔心是整數類型還是字元串類型。Ruby 會自動進行內存管理,它具有許多和 Python、Perl、Lisp、Ada、Eiffel 和 Smalltalk 相同的特性。

Ruby on Rails 框架對於 Ruby 的流行起到了重要作用,它是一個全棧 Web 框架,目前已被用來創建許多受歡迎的應用,包括 Basecamp、GitHub、Shopify、Airbnb、Twitch、SoundCloud、Hulu、Zendesk、Square 和 Highise 。

Ruby 具有很高的可移植性性,在 Linux、Windows、Mac OS X、Cygwin、FreeBSD、NetBSD、OpenBSD、BSD/OS、Solaris、Tru64 UNIX、HP-UX 以及其他許多系統上均可運行。目前,Ruby 在 TIOBE 編程社區排名 12 。

這篇文章有 9 本很優秀的推薦書籍,有針對包括初學者、中級程序員和高級程序員的書籍。當然,所有的書籍都是在開源許可下發布的。

這篇文章是 OSSBlog 的系列文章開源編程書籍的一部分。

Ruby Best Practices

作者: Gregory Brown (328 頁)

《Ruby Best Practices》適合那些希望像有經驗的 Ruby 專家一樣使用 Ruby 的程序員。本書是由 Ruby 項目 Prawn 的開發者所撰寫的,它闡述了如何使用 Ruby 設計美麗的 API 和特定領域語言,以及如何利用函數式編程想法和技術,從而簡化代碼,提高效率。

《Ruby Best Practices》 更多的內容是關於如何使用 Ruby 來解決問題,它闡述的是你應該使用的最佳解決方案。這本書不是針對 Ruby 初學者的,所以對於編程新手也不會有太多幫助。這本書的假想讀者應該對 Ruby 的相應技術有一定理解,並且擁有一些使用 Ruby 來開發軟體的經驗。

這本書分為兩部分,前八章組成本書的核心部分,後三章附錄作為補充材料。

這本書提供了大量的信息:

  • 通過測試驅動代碼 - 涉及了大量的測試哲學和技術。使用 mocks 和 stubs
  • 通過利用 Ruby 神秘的力量來設計漂亮的 API:靈活的參數處理和代碼塊
  • 利用動態工具包向開發者展示如何構建靈活的界面,實現單對象行為,擴展和修改已有代碼,以及程序化地構建類和模塊
  • 文本處理和文件管理集中於正則表達式,文件、臨時文件標準庫以及文本處理策略實戰
  • 函數式編程技術優化了模塊代碼組織、存儲、無窮目錄以及更高順序程序。
  • 理解代碼如何出錯以及為什麼會出錯,闡述如何處理日誌記錄
  • 通過利用 Ruby 的多語言能力削弱文化屏障
  • 熟練的項目維護

本書為開源書籍,在 CC NC-SA 許可證下發布。

在此下載《Ruby Best Practices》

I Love Ruby

作者: Karthikeyan A K (246 頁)

《I Love Ruby》以比傳統的介紹更高的深度闡述了基本概念和技術。該方法為編寫有用、正確、易維護和高效的 Ruby 代碼提供了一個堅實的基礎。

章節內容涵蓋:

  • 變數
  • 字元串
  • 比較和邏輯
  • 循環
  • 數組
  • 哈希和符號
  • Ranges
  • 函數
  • 變數作用域
  • 類 & 對象
  • Rdoc
  • 模塊和 Mixins
  • 日期和時間
  • 文件
  • Proc、匿名 和 塊
  • 多線程
  • 異常處理
  • 正則表達式
  • Gems
  • 元編程

在 GNU 自由文檔許可證之下,你可以複製、發布和修改本書,1.3 或任何之後版本由自由軟體基金會發布。

點此下載《I Love Ruby》

Programming Ruby – The Pragmatic Programmer』s Guide

作者: David Thomas, Andrew Hunt (HTML)

《Programming Ruby – The Pragmatic Programmer』s Guide》是一本 Ruby 編程語言的教程和參考書。使用 Ruby,你將能夠寫出更好的代碼,更加有效率,並且使編程變成更加享受的體驗。

內容涵蓋以下部分:

  • 類、對象和變數
  • 容器、塊和迭代器
  • 標準類型
  • 更多方法
  • 表達式
  • 異常、捕獲和拋出
  • 模塊
  • 基本輸入和輸出
  • 線程和進程
  • 何時抓取問題
  • Ruby 和它的世界、Web、Tk 和 微軟 Windows
  • 擴展 Ruby
  • 映像、對象空間和分散式 Ruby
  • 標準庫
  • 面向對象設計庫
  • 網路和 Web 庫
  • 嵌入式文件
  • 互動式 Ruby shell

這本書的第一版在開放發布許可證 1.0 版或更新版的許可下發布。本書更新後的第二版涉及 Ruby 1.8 ,並且包括所有可用新庫的描述,但是它不是在免費發行許可證下發布的。

點此下載《Programming Ruby – The Pragmatic Programmer』s Guide》

Why』s (Poignant) Guide to Ruby

作者:why the lucky stiff (176 頁)

《Why』s (poignant) Guide to Ruby》是一本 Ruby 編程語言的介紹書籍。該書包含一些冷幽默,偶爾也會出現一些和主題無關的內容。本書包含的笑話在 Ruby 社區和卡通角色中都很出名。

本書的內容包括:

  • 關於本書
  • Kon』nichi wa, Ruby
  • 一個快速(希望是無痛苦的)的 Ruby 瀏覽(伴隨卡通角色):Ruby 核心概念的基本介紹
  • 代碼浮動小葉:評估和值,哈希和列表
  • 組成規則的核心部分:case/when、while/until、變數作用域、塊、方法、類定義、類屬性、對象、模塊、IRB 中的內省、dup、self 和 rbconfig 模塊
  • 中心:元編程、正則表達式
  • 當你打算靠近鬍鬚時:在已存在類中發送一個新方法
  • 天堂演奏

本書在 CC-SA 許可證許可下可用。

點此下載《Why』s (poignant) Guide to Ruby》

Ruby Hacking Guide

作者: Minero Aoki ,翻譯自 Vincent Isambart 和 Clifford Escobar Caoille (HTML)

通過閱讀本書可以達成下面的目標:

  • 擁有關於 Ruby 結構的知識
  • 掌握一般語言處理的知識
  • 收穫閱讀源代碼的技能

本書分為四個部分:

  • 對象
  • 動態分析
  • 評估
  • 外部評估

要想從本書中收穫最多的東西,需要具備一定 C 語言的知識和基本的面向對象編程知識。本書在 CC-NC-SA 許可證許可下發布。

原書的官方支持網站為 i.loveruby.net/ja/rhg/

點此下載《Ruby Hacking Guide》

The Book Of Ruby

作者: How Collingbourne (425 頁)

《The Book Of Ruby》是一本免費的 Ruby 編程高級教程。

《The Book Of Ruby》以 PDF 文件格式提供,並且每一個章節的所有例子都伴有可運行的源代碼。同時,也有一個介紹來闡述如何在 Steel 或其他任何你喜歡的編輯器/IDE 中運行這些 Ruby 代碼。它主要集中於 Ruby 語言的 1.8.x 版本。

本書被分成很小的塊。每一個章節介紹一個主題,並且分成幾個不同的子話題。每一個編程主題由一個或多個小的自包含、可運行的 Ruby 程序構成。

  • 字元串、數字、類和對象 - 獲取輸入和輸出、字元串和外部評估、數字和條件測試:if ... then、局部變數和全局變數、類和對象、實例變數、消息、方法、多態性、構造器和檢屬性和類變數 - 超類和子類,超類傳參,訪問器方法,』set『 訪問器,屬性讀寫器、超類的方法調用,以及類變數
  • 類等級、屬性和類變數 - 超類和子類,超類傳參,訪問器方法,』set『 訪問器,屬性讀寫器、超類的方法調用,以及類變數
  • 字元串和 Ranges - 用戶自定義字元串定界符、引號等更多
  • 數組和哈希 - 展示如何創建一系列對象
  • 循環和迭代器 - for 循環、代碼塊、while 循環、while 修改器以及 until 循環
  • 條件語句 - If..Then..Else、And..Or..Not、If..Elsif、unless、if 和 unless 修改器、以及 case 語句
  • 方法 - 類方法、類變數、類方法是用來幹什麼的、Ruby 構造器、單例方法、單例類、重載方法以及更多
  • 傳遞參數和返回值 - 實例方法、類方法、單例方法、返回值、返回多重值、默認參數和多重參數、賦值和常量傳遞以及更多
  • 異常處理 - 涉及 rescue、ensure、else、錯誤數量、retry 和 raise
  • 塊、Procs 和 匿名 - 闡述為什麼它們對 Ruby 來說很特殊
  • 符號 - 符號和字元串、符號和變數以及為什麼應該使用符號
  • 模塊和 Mixins
  • 文件和 IO - 打開和關閉文件、文件和目錄、複製文件、目錄詢問、一個關於遞歸的討論以及按大小排序
  • YAML - 包括嵌套序列,保存 YAML 數據以及更多
  • Marshal - 提供一個保存和載入數據的可選擇方式
  • 正則表達式 - 進行匹配、匹配群組以及更多
  • 線程 - 向你展示如何同時運行多個任務
  • 調試和測試 - 涉及互動式 Ruby shell(IRB.exe)、debugging 和 單元測試
  • Ruby on Rails - 瀏覽一個創建博客的實踐指南
  • 動態編程 - 自修改程序、重運算魔法、特殊類型的運算、添加變數和方法以及更多

本書由 SapphireSteel Software 發布,SapphireSteel Software 是用於 Visual Studio 的 Ruby In Steel 集成開發環境的開發者。讀者可以複製和發布本書的文本和代碼(免費版)

點此下載《The Book Of Ruby》

The Little Book Of Ruby

作者: Huw Collingbourne (87 頁)

《The Little Book of Ruby》是一本一步接一步的 Ruby 編程教程。它指導讀者瀏覽 Ruby 的基礎。另外,它分享了《The Book of Ruby》一書的內容,但是它旨在作為一個簡化的教程來闡述 Ruby 的主要特性。

章節內容涵蓋:

  • 字元串和方法 - 包括外部評估。詳細描述了 Ruby 方法的語法
  • 類和對象 - 闡述如何創建一個新類型的對象
  • 類等級 - 一個特殊類型的類,其為一些其他類的簡化並且繼承了其他一些類的特性
  • 訪問器、屬性、類變數 - 訪問器方法,屬性讀寫器,屬性創建變數,調用超類方法以及類變數探索
  • 數組 - 學習如何創建一系列對象:數組包括多維數組
  • 哈希 - 涉及創建哈希表,為哈希表建立索引以及哈希操作等
  • 循環和迭代器 - for 循環、塊、while 循環、while 修飾器以及 until 循環
  • 條件語句 - If..Then..Else、And..Or..Not、If..Elsif、unless、if 和 unless 修飾器以及 case 語句
  • 模塊和 Mixins - 包括模塊方法、模塊作為名字空間模塊實例方法、模塊或 'mixins'、來自文件的模塊和預定義模塊
  • 保存文件以及更多內容

本書可免費複製和發布,只需保留原始文本且註明版權信息。

點此下載《The Little Book of Ruby》

Kestrels, Quirky Birds, and Hopeless Egocentricity

作者: Reg 「raganwald」 Braithwaite (123 頁)

《Kestrels, Quirky Birds, and Hopeless Egocentricity》是通過收集 「Raganwald」 Braithwaite 的關於組合邏輯、Method Combinators 以及 Ruby 元編程的系列文章而形成的一本方便的電子書。

本書提供了通過使用 Ruby 編程語言來應用組合邏輯的一個基本介紹。組合邏輯是一種數學表示方法,它足夠強大,從而用於解決集合論問題以及計算中的問題。

在這本書中,讀者會會探討到一些標準的 Combinators,並且對於每一個 Combinators,書中都用 Ruby 編程語言寫程序探討了它的一些結果。在組合邏輯上,Combinators 之間組合併相互改變,書中的 Ruby 例子注重組合和修改 Ruby 代碼。通過像 K Combinator 和 .tap 方法這樣的簡單例子,本書闡述了元編程的理念和遞歸 Combinators 。

本書在 MIT 許可證許可下發布。

點此下載《Kestrels, Quirky Birds, and Hopeless Egocentricity》

Ruby Programming

作者: Wikibooks.org (261 頁)

Ruby 是一種解釋性、面向對象的編程語言。

本書被分為幾個部分,從而方便按順序閱讀。

  • 開始 - 向讀者展示如何在其中一個操作系統環境中安裝並開始使用 Ruby
  • Ruby 基礎 - 闡述 Ruby 語法的主要特性。它涵蓋了字元串、編碼、寫方法、類和對象以及異常等內容
  • Ruby 語義參考
  • 內建類
  • 可用模塊,涵蓋一些標準庫
  • 中級 Ruby 涉及一些稍微高級的話題

本書在 CC-SA 3.0 本地化許可證許可下發布。

點此下載《Ruby Programming》

無特定順序,我將在結束前推薦一些沒有在開源許可證下發布但可以免費下載的 Ruby 編程書籍。

via: https://www.ossblog.org/study-ruby-programming-with-open-source-books/

作者:Steve Emms 譯者:ucasFL 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國