開源的 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 的系列文章開源編程書籍[1]的一部分。
《Ruby Best Practices[2]》
作者: Gregory Brown (328 頁)
《Ruby Best Practices》適合那些希望像有經驗的 Ruby 專家一樣使用 Ruby 的程式設計師。本書是由 Ruby 項目 Prawn 的開發者所撰寫的,它闡述了如何使用 Ruby 設計美麗的 API 和特定領域語言,以及如何利用函數式編程想法和技術,從而簡化代碼,提高效率。
《Ruby Best Practices》 更多的內容是關於如何使用 Ruby 來解決問題,它闡述的是你應該使用的最佳解決方案。這本書不是針對 Ruby 初學者的,所以對於編程新手也不會有太多幫助。這本書的假想讀者應該對 Ruby 的相應技術有一定理解,並且擁有一些使用 Ruby 來開發軟體的經驗。
這本書分為兩部分,前八章組成本書的核心部分,後三章附錄作為補充材料。
這本書提供了大量的信息:
本書為開源書籍,在 CC NC-SA 許可證下發布。
在此下載《Ruby Best Practices》[3]。
《I Love Ruby[4]》
作者: Karthikeyan A K (246 頁)
《I Love Ruby》以比傳統的介紹更高的深度闡述了基本概念和技術。該方法為編寫有用、正確、易維護和高效的 Ruby 代碼提供了一個堅實的基礎。
章節內容涵蓋:
在 GNU 自由文檔許可證之下,你可以複製、發布和修改本書,1.3 或任何之後版本由自由軟體基金會發布。
點此下載《I Love Ruby》[5]。
Programming Ruby – The Pragmatic Programmer’s Guide[6]
作者: David Thomas, Andrew Hunt (HTML)
《Programming Ruby – The Pragmatic Programmer’s Guide》是一本 Ruby 程式語言的教程和參考書。使用 Ruby,你將能夠寫出更好的代碼,更加有效率,並且使編程變成更加享受的體驗。
內容涵蓋以下部分:
這本書的第一版在開放發布許可證 1.0 版或更新版的許可下發布。本書更新後的第二版涉及 Ruby 1.8 ,並且包括所有可用新庫的描述,但是它不是在免費發行許可證下發布的。
點此下載《Programming Ruby – The Pragmatic Programmer’s Guide》[7]。
《Why’s (Poignant) Guide to Ruby[8]》
作者:why the lucky stiff (176 頁)
《Why’s (poignant) Guide to Ruby》是一本 Ruby 程式語言的介紹書籍。該書包含一些冷幽默,偶爾也會出現一些和主題無關的內容。本書包含的笑話在 Ruby 社區和卡通角色中都很出名。
本書的內容包括:
本書在 CC-SA 許可證許可下可用。
點此下載《Why’s (poignant) Guide to Ruby》[9]。
《Ruby Hacking Guide[10]》
作者: Minero Aoki ,翻譯自 Vincent Isambart 和 Clifford Escobar Caoille (HTML)
通過閱讀本書可以達成下面的目標:
本書分為四個部分:
要想從本書中收穫最多的東西,需要具備一定 C 語言的知識和基本的面向對象編程知識。本書在 CC-NC-SA 許可證許可下發布。
原書的官方支持網站為 i.loveruby.net/ja/rhg/[11]
點此下載《Ruby Hacking Guide》[12]
《The Book Of Ruby[13]》
作者: How Collingbourne (425 頁)
《The Book Of Ruby》是一本免費的 Ruby 編程高級教程。
《The Book Of Ruby》以 PDF 文件格式提供,並且每一個章節的所有例子都伴有可運行的原始碼。同時,也有一個介紹來闡述如何在 Steel 或其他任何你喜歡的編輯器/IDE 中運行這些 Ruby 代碼。它主要集中於 Ruby 語言的 1.8.x 版本。
本書被分成很小的塊。每一個章節介紹一個主題,並且分成幾個不同的子話題。每一個編程主題由一個或多個小的自包含、可運行的 Ruby 程序構成。
本書由 SapphireSteel Software 發布,SapphireSteel Software 是用於 Visual Studio 的 Ruby In Steel 集成開發環境的開發者。讀者可以複製和發布本書的文本和代碼(免費版)
點此下載《The Book Of Ruby》[14]
《The Little Book Of Ruby[15]》
作者: Huw Collingbourne (87 頁)
《The Little Book of Ruby》是一本一步接一步的 Ruby 編程教程。它指導讀者瀏覽 Ruby 的基礎。另外,它分享了《The Book of Ruby》一書的內容,但是它旨在作為一個簡化的教程來闡述 Ruby 的主要特性。
章節內容涵蓋:
本書可免費複製和發布,只需保留原始文本且註明版權資訊。
點此下載《The Little Book of Ruby》[16]
《Kestrels, Quirky Birds, and Hopeless Egocentricity[17]》
作者: 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》[18]
《Ruby Programming[19]》
作者: Wikibooks.org (261 頁)
Ruby 是一種解釋性、面向對象的程式語言。
本書被分為幾個部分,從而方便按順序閱讀。
本書在 CC-SA 3.0 本地化許可證許可下發布。
點此下載《Ruby Programming》[20]
無特定順序,我將在結束前推薦一些沒有在開源許可證下發布但可以免費下載的 Ruby 編程書籍。
via: https://www.ossblog.org/study-ruby-programming-with-open-source-books/
作者:Steve Emms[28] 譯者:ucasFL 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
[1]: OSSBlog 的系列文章開源編程書籍 - https://www.ossblog.org/opensourcebooks/
[2]: Ruby Best Practices - https://github.com/practicingruby/rbp-book/tree/gh-pages/pdfs
[3]: 在此下載《Ruby Best Practices》 - https://github.com/practicingruby/rbp-book/tree/gh-pages/pdfs
[4]: I Love Ruby - https://mindaslab.github.io/I-Love-Ruby/
[5]: 點此下載《I Love Ruby》 - https://mindaslab.github.io/I-Love-Ruby/
[6]: Programming Ruby – The Pragmatic Programmer’s Guide - http://ruby-doc.com/docs/ProgrammingRuby/
[7]: 點此下載《Programming Ruby – The Pragmatic Programmer’s Guide》 - http://ruby-doc.com/docs/ProgrammingRuby/
[8]: Why’s (Poignant) Guide to Ruby - http://poignant.guide/
[9]: 點此下載《Why’s (poignant) Guide to Ruby》 - http://poignant.guide/
[10]: Ruby Hacking Guide - http://ruby-hacking-guide.github.io/
[11]: i.loveruby.net/ja/rhg/ - http://i.loveruby.net/ja/rhg/
[12]: 點此下載《Ruby Hacking Guide》 - http://ruby-hacking-guide.github.io/
[13]: The Book Of Ruby - http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html
[14]: 點此下載《The Book Of Ruby》 - http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html
[15]: The Little Book Of Ruby - http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html
[16]: 點此下載《The Little Book of Ruby》 - http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html
[17]: Kestrels, Quirky Birds, and Hopeless Egocentricity - https://leanpub.com/combinators
[18]: 點此下載《Kestrels, Quirky Birds, and Hopeless Egocentricity》 - https://leanpub.com/combinators
[19]: Ruby Programming - https://en.wikibooks.org/wiki/Ruby_Programming
[20]: 點此下載《Ruby Programming》 - https://en.wikibooks.org/wiki/Ruby_Programming
[21]: Mr. Neighborly 的 Humble Little Ruby Book - http://www.humblelittlerubybook.com/
[22]: Introduction to Programming with Ruby - https://launchschool.com/books/ruby
[23]: Object Oriented Programming with Ruby - https://launchschool.com/books/oo_ruby
[24]: Core Ruby Tools - https://launchschool.com/books/core_ruby_tools
[25]: Learn Ruby the Hard Way, 3rd Edition - https://learnrubythehardway.org/book/
[26]: Learn to Program - https://pine.fm/LearnToProgram
[27]: Ruby Essentials - http://www.techotopia.com/index.php/Ruby_Essentials
[28]: Steve Emms - https://www.ossblog.org/author/steve/