通过开源书籍学习 Ruby 编程
Posted Linux中国
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过开源书籍学习 Ruby 编程相关的知识,希望对你有一定的参考价值。
这篇文章有 9 本很优秀的推荐书籍,有针对包括初学者、中级程序员和高级程序员的书籍。当然,所有的书籍都是在开源许可下发布的。
开源的 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]》
《Ruby Best Practices》适合那些希望像有经验的 Ruby 专家一样使用 Ruby 的程序员。本书是由 Ruby 项目 Prawn 的开发者所撰写的,它阐述了如何使用 Ruby 设计美丽的 API 和特定领域语言,以及如何利用函数式编程想法和技术,从而简化代码,提高效率。
《Ruby Best Practices》 更多的内容是关于如何使用 Ruby 来解决问题,它阐述的是你应该使用的最佳解决方案。这本书不是针对 Ruby 初学者的,所以对于编程新手也不会有太多帮助。这本书的假想读者应该对 Ruby 的相应技术有一定理解,并且拥有一些使用 Ruby 来开发软件的经验。
这本书分为两部分,前八章组成本书的核心部分,后三章附录作为补充材料。
这本书提供了大量的信息:
◈ 通过测试驱动代码 - 涉及了大量的测试哲学和技术。使用 mocks 和 stubs
◈ 通过利用 Ruby 神秘的力量来设计漂亮的 API:灵活的参数处理和代码块
◈ 利用动态工具包向开发者展示如何构建灵活的界面,实现单对象行为,扩展和修改已有代码,以及程序化地构建类和模块
◈ 文本处理和文件管理集中于正则表达式,文件、临时文件标准库以及文本处理策略实战
◈ 函数式编程技术优化了模块代码组织、存储、无穷目录以及更高顺序程序。
◈ 理解代码如何出错以及为什么会出错,阐述如何处理日志记录
本书为开源书籍,在 CC NC-SA 许可证下发布。
在此下载《Ruby Best Practices》[3]。
《I Love Ruby[4]》
《I Love Ruby》以比传统的介绍更高的深度阐述了基本概念和技术。该方法为编写有用、正确、易维护和高效的 Ruby 代码提供了一个坚实的基础。
章节内容涵盖:
在 GNU 自由文档许可证之下,你可以复制、发布和修改本书,1.3 或任何之后版本由自由软件基金会发布。
点此下载《I Love Ruby》[5]。
Programming Ruby – The Pragmatic Programmer’s Guide[6]
《Programming Ruby – The Pragmatic Programmer’s Guide》是一本 Ruby 编程语言的教程和参考书。使用 Ruby,你将能够写出更好的代码,更加有效率,并且使编程变成更加享受的体验。
内容涵盖以下部分:
◈ Ruby 和它的世界、Web、Tk 和 微软 Windows
这本书的第一版在开放发布许可证 1.0 版或更新版的许可下发布。本书更新后的第二版涉及 Ruby 1.8 ,并且包括所有可用新库的描述,但是它不是在免费发行许可证下发布的。
点此下载《Programming Ruby – The Pragmatic Programmer’s Guide》[7]。
《Why’s (Poignant) Guide to Ruby[8]》
《Why’s (poignant) Guide to Ruby》是一本 Ruby 编程语言的介绍书籍。该书包含一些冷幽默,偶尔也会出现一些和主题无关的内容。本书包含的笑话在 Ruby 社区和卡通角色中都很出名。
本书的内容包括:
◈ 一个快速(希望是无痛苦的)的 Ruby 浏览(伴随卡通角色):Ruby 核心概念的基本介绍
◈ 组成规则的核心部分:case/when、while/until、变量作用域、块、方法、类定义、类属性、对象、模块、IRB 中的内省、dup、self 和 rbconfig 模块
◈ 当你打算靠近胡须时:在已存在类中发送一个新方法
本书在 CC-SA 许可证许可下可用。
点此下载《Why’s (poignant) Guide to Ruby》[9]。
《Ruby Hacking Guide[10]》
通过阅读本书可以达成下面的目标:
本书分为四个部分:
要想从本书中收获最多的东西,需要具备一定 C 语言的知识和基本的面向对象编程知识。本书在 CC-NC-SA 许可证许可下发布。
原书的官方支持网站为 i.loveruby.net/ja/rhg/[11]
点此下载《Ruby Hacking Guide》[12]
《The Book Of Ruby[13]》
《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 来说很特殊
◈ 符号 - 符号和字符串、符号和变量以及为什么应该使用符号
◈ 文件和 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》[14]
《The Little Book Of Ruby[15]》
《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》[16]
《Kestrels, Quirky Birds, and Hopeless Egocentricity[17]》
《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]》
Ruby 是一种解释性、面向对象的编程语言。
本书被分为几个部分,从而方便按顺序阅读。
◈ 开始 - 向读者展示如何在其中一个操作系统环境中安装并开始使用 Ruby
◈ Ruby 基础 - 阐述 Ruby 语法的主要特性。它涵盖了字符串、编码、写方法、类和对象以及异常等内容
本书在 CC-SA 3.0 本地化许可证许可下发布。
点此下载《Ruby Programming》[20]
无特定顺序,我将在结束前推荐一些没有在开源许可证下发布但可以免费下载的 Ruby 编程书籍。
◈
Mr. Neighborly 的 Humble Little Ruby Book
[21] – 一个易读易学的 Ruby 完全指南。
◈
Introduction to Programming with Ruby
[22] – 学习编程的基础知识,一切从零开始。
◈
Object Oriented Programming with Ruby
[23] – 学习编程的基础知识,一切从零开始。
◈
Core Ruby Tools
[24] – 对 Ruby 的四个核心工具 Gems、Ruby Version Managers、Bundler 和 Rake 进行了简短的概述。
◈
Learn Ruby the Hard Way, 3rd Edition
[25] – 一本适合初学者的入门书籍。
◈
Learn to Program
[26] – 来自 Chris Pine。
◈
Ruby Essentials
[27] – 一个准确且简单易学的 Ruby 学习指南。
via: https://www.ossblog.org/study-ruby-programming-with-open-source-books/
本文由 LCTT 原创编译,Linux中国 荣誉推出
以上是关于通过开源书籍学习 Ruby 编程的主要内容,如果未能解决你的问题,请参考以下文章
这些Github开源项目,你一定要收藏
开源项目资源 - 01
自动驾驶资料合集:视频书籍与开源项目
GitHub最火star174k!你能想象的编程书籍这里都有!免费开源!
安卓开发教程
豆瓣评分9.7, Github开源的深度学习书籍,附PPT和训练代码!