Oh!Coder

Coding Life

读《Ruby从入门到精通》

| Comments

作为学习Ruby的入门资料,读了一下《Ruby从入门到精通》。读这本书最主要的原因是想在抛开Rails的前提下,全方面的了解一下Ruby。当然还有另外一个原因是这本书在豆瓣上的评价还算是不错的。

通读这本书,确实能够对Ruby在基础层面有一个比较全面的了解。整体给人的感觉是一个大而全的印象。不过,从另外一个角度看,会觉得这本书讲的知识点都很零散,很多地方都是点到为止。即便如此,这也达到了读这本书的初衷。我不希望一上来就让自己对Ruby的了解禁锢在Rails上。因为我担心在以后的学习过程中会让自己的思维方式或者是潜意识被Rails这个圈圈所限制。所以觉得先做一个全景鸟瞰,或许会是一个不错的学习路子。

除了内容以外,这本书的排版真的是让人不敢恭维。印刷质量简直是太山寨了,我是从China-Pub买的,按说应该是正版书,但是从装订和印刷质量来看,说是从路边地摊上买的也完全可信。这种印刷质量会降低整个阅读体验。不过反正对这本书的期望值就不高,算是在此吐个槽吧。

下面对这本书做一个概览。

按照本书的目录进行划分,整本书分为三个篇章:

  • 第一篇:基础与脚手架
  • 第二篇:Ruby的核心
  • 第三篇:Ruby在线

不同的篇章,在不同的层面对Ruby做了讲解。

第一篇:基础与脚手架

第一篇从安装Ruby的开发环境开始,其中包括不同的开发平台。比如,Windows平台,Mac OS平台以及Linux平台。紧接着对Ruby做了一个大而全的概括。当然了,其中主要是通过举几个例子体现了一下Ruby的优越性,这其中主要涉及到了编程思想和编程方式。

从第三章开始通篇介绍了Ruby的基础语法,这些基本语法主要涉及到的层面都是面向过程的,没有涉及面向对象的一些概念。其中介绍了Ruby当中的正则表达式,对字符串的基本操作,数据类型,基本的流程控制等等。当然,整个的练习环境是基于Ruby自身的irb环境。

第四章利用前面介绍的基础知识,做了一个简单的文本类应用。第五章全局介绍了Ruby的生态环境,其中包括Ruby的起源和影响,以及相关的论坛和文档,还有如雷贯耳的Rails。简单概括来说,就是介绍了整个的Ruby圈子吧。

通过读第一部分,可以从书中列举的一些例子里发现,Ruby的书写风格和通常类C语言是不一样的。给我的感觉是更偏向英语语言,从作者的角度出发,可以理解成更偏向人类语言,显得不那么呆板和拘谨,更有亲和力。给人一种很轻松的感觉。当然,Ruby的语言也允许你写成类C语言的风格。不过,我猜那或许就违背了Ruby语言的初衷了吧。想了想,这或许也是我觉得Ruby比较有亲和力的原因之一吧。

第二篇:Ruby的核心

第二篇讲的比较杂,也在第一篇的基础上介绍了面向对象的概念,其中包括类、对象和模块的基本概念。对Ruby的标准库也做了介绍,其中包括对标准的简单调用。

除了程序方面,也对Ruby的文档编写,错误处理以及调试和测试进行了介绍。并用一章的长度做了基本讲解。通过这章内容的讲解,也对Ruby有了更好的印象,因为通过了解这些,可以更能体会Ruby的简单理念。这里的很多模块都已经很完善,只要几行代码就可以实现你想要的效果。你所要做的就是实现你的想法,而不是重新造轮子。

专门划分出一章对Ruby的I/O做了讲解。其中包括对文件输入输出,以及对主流数据库的增删改差的基本操作。这些都是一些入门知识,对于纯碎的初学者来说,这些知识还是挺合适的。

对于部署Ruby程序这部分,讲解的内容涉及到Ruby程序的打包,并对创建gem包的流程做了简要的介绍。以此可以了解到什么是gem包,这部分内容最后还提到了Ruby的远程过程调用的基础内容,这些内容对于扫盲来说都还不错。

第二篇里也提到几点Ruby的高级应用。比如,动态代码的嵌入。如何用Ruby调用Windows API。Ruby中的线程,以及如何在Ruby中嵌入C/C++程序,以此可以在重要地方来优化程序的性能。本篇的最后一章,通过一个智能在线机器人,作为Ruby学习的一个例子进行了讲解。

第三篇:Ruby在线

第三篇从名字可以猜出,这部分主要涉及到Ruby在网络上的应用。其中包括了非常有名的Rails,并对Rails的基本使用的流程做了整体的介绍。Ruby在网络方面的介绍,主要涉及到一些网络协议的应用。比如POP3SMTP协议以及ActionMailer发送邮件等等。除此之外,对于网络部分,介绍了Ruby在套接字方面的基本使用。本篇的最后,主要介绍了一些常用的gem包,并针对每一个gem包给出相关的使用示例。

基本上,这本书的大致内容就是这些。其实都是开发当中的所涉及的基础知识,算不上什么精通的内容。基本上这本书可以算是扫盲的入门书籍还是挺合适的。

对于这本书中感受比较深的是Ruby程序的书写方式。Ruby程序的书写方式体现了一部分Ruby的编程风格。除此之外,对于Ruby整体的编程方法,有一种比类C语言更有亲和力的感觉。可能这一点也是让很多觉得用Ruby写程序更舒服的原因吧。

在讲解Ruby的高级功能的时候,Ruby的动态性也体现出语言的灵活多变的特点。此外对于轻松嵌入C/C++语言代码的方法,也感受到语言强大的灵活性。

最后再说一点,本书的代码大部分适用于1.8版本,对于使用1.9或2.0版本的同学,其中有些示例代码会有编译不过的风险。不过整体来说,这本书作为入门还是不错的,只要你能忍受本书的排版风格!!!

Comments