出版时间:2010 年4月 出版社:东南大学出版社 作者:Yugui 页数:223 译者:丁明,吕嘉
Tag标签:无
前言
本书是为具备其他编程语言知识的程序员而准备的Ruby入门书,以Ruby 1.8和Ruby 1.9作为对象进行讲述。此外还加入了笔者从8年的Ruby使用经验中体会到的一些Ruby的文化和习惯。 与众多成功的程序语言相同,Ruby持有其独特的世界观。我们在写Java程序的时候很自然地就会用Java来考虑问题,比如会考虑到变量的类型、Java普通的APl和构造等问题。此外笔者还体会到了Peri的突出的世界观。在笔者用Peri编写程序时,就会像呼吸一样很自然地想到scalar和list,而且会站在CPAN这个生态系统的基础上进行程序设计。同样,能熟练地使用Ruby指的也不是仅仅理解Ruby的语法,而是要用Ruby的方式来思考问题。 Ruby有一句古老的口号是“最小惊讶原则”。它是Ruby社区默认的Ruby思考方法,Ruby自身也必须在遵循这个原则的基础上执行非常自然的容易理解的动作。在Ruby的邮件组中,当需要决定Ruby的语法或者Ruby标准程序库中的功能时,这个问题总是会被当作话题来讨论。因此,只要像一个Ruby程序员一样用Ruby的思考方式来考虑问题,那么读者就会在今后不断地阅读Ruby代码的过程中逐渐变得熟练。只要具备了这种思考方式,就算只是在方法库中寻找一个功能,也会自然而然地想到“如果是Ruby程序员的话应该去哪里找?应该如何调用?”在理想的情况下,Ruby应该会按照你想写的内容进行处理。 本书的读者对象 本书的读者对象是有使用其他语言进行编程的经验的程序员。尤其面向的是有C++、Java、C#、Perl5、PHP5等面向对象语言经验的程序员。本书还提供了一些阅读“Ruby参考手册”就能获取的Ruby的基础知识。 对于程序员来说,学习Ruby的最好的教材应该是《Ruby参考手册》。其中记述了有关Ruby的所有内容。想要学习Ruby的人都应该将参考手册通读一遍。 但是,阅读参考手册存在一个问题。这个参考手册是为已经理解Ruby习惯的人所编写的。作为Ruby程序员日常查询用的资料,当然不能写得太冗长,但这对初学者却是一个障碍。在刚开始学习Ruby的时候,笔者看了参考手册之后也有很多不明白的地方。比如,Pile.chmod和Pile#chmod到底在含义上有什么区别等等。 在阅读参考手册之前需要知道的基础知识有:Ruby的独特的概念、表示方法和思考方法。在本书中将会对Ruby的基础概念、辅助类或者代码块等独特的概念以及关于它们的文化做详细的介绍。通过这些内容,读者就可以理解Ruby的文化。读完本书,读者就能自由自在地阅读参考手册,为使用Ruby方法库进行高级编程做好准备。 但是,本书并未对计算机科学的一般话题以及有关面向对象的概念做介绍,只是在书的末尾简单地列出了一些用语。关于这些话题的详细内容,请参阅《计算机的构造与设计(第2版)》(日经BP)、《Write Great Code》(每日Communications)、《面向对象入门(第2版)》(翔泳社)。 写给编程的初学者 在编写本书的时候,有两个读者对象选择。一是以编程的初学者为对象,二是以程序员为对象。笔者选择了后者。本书是为已经学习过编程的人员所编写的Ruby语言的入门书。因此书中几乎没有对程序编写的基础知识进行解说。 其实“学习编程”这个想法自身也是有问题的。因为如果不以一种程序语言为基础进行学习的话,是学不好编写程序的方法的。但是,由于现实中的大多数程序语言都具备大量的解决复杂问题的功能,因此同时对“语言的功能”和“编程的方法”两者进行学习是很困难的。 Ruby的语法在这一点上有相对的优势。因为它可以非常简练地表示出继承、分支、循环以及变量、例程等概念。由于语法简练,从而使学习者可以不受干扰地对编写程序的本质部分进行学习。因此,Ruby也可以说是面向学习编程方法的一门语言。 尽管如此,笔者并没有将本书的对象设定为编程的初学者。其中一个理由是,已经有一本以Ruby为题材的程序编写入门的好书《编程入门》(OReilly Japan)。另外一个理由是,对于急需要解决现实中的复杂问题的程序员,笔者非常想向他们介绍一下Ruby。 本书的构成 第1章对Ruby整体进行概述。对Ruby中的各个部分只做浅尝辄止的介绍,其详细内容将留给后面的章节。 从第2章到第5章,分别对Ruby的数组、哈希表、数值、字符串和输入输出等基本内容做详细的解说。此外,还将会涉及带有代码块的方法以及类型变换等Ruby框架的内容。 从第6章到第8章,将对还未清楚讲述的Ruby浯言本身(语法)做更为详细的说明。其中第7章将详细讲述与作为Ruby的构造化基础结构的方法相关的各种语法。在第8章中,将会涉及类与对象的内容。 第9章将会对一些超出本书所涉及内容的发展性话题做一些入门性的介绍。此外,还会列出一些必要的参考资料。 本书所采用的表示符号 黑体字(Bold) 对最初出现的用语加以强调。 等宽字(Constant width) 表示类名、方法名以及变量名。此外,也在代码示例中使用。 等宽黑体字(Constant width bold) 表示用户实际输入的内容。 这个标志表示从Ruby 1.8升级到Ruby 1.9时的变更点。 这个标志表示对文章内容的补充性信息或者提示信息。 这个标志表示容易出错的地方。 咨询地址 虽然本书在内容上希望做到完整无误,但是在制作印刷的过程中难免会出现错误。而且由于Ruby的版本更新,也会出现与本书所述内容有出入的地方。尤其是对于Ruby 1.9来说,出错是极有可能的。
内容概要
本书为具有一定其他语言的编程经验的读者介绍Ruby的特征、Ruby中的编程方法和编程习惯。这些内容都是为了让读者能够边阅读Ruby的资料边进行实践性的学习所必须具备的基础知识。本书对Ruby的基础部分和元类、块语句这样独特的概念,以及由此产生的特有的文化进行了说明,以使读者能够了解到Ruby独特的思考方式。读完本书,读者就应该能够灵活地运用各种Ruby的类库,并能够掌握编写高水平的Ruby程序的基础知识。
作者简介
Yugui,本名为园田裕贵(Sonoda Yuki)。Ruby committer,Ruby1.9的系统发布管理员,MtF-TS。曾编写了各种文件和程序库等,致力于实现“更容易理解的Ruby”的理想。此外,通过对发布的管理,也使Ruby向“更加稳定的Ruby”这一目标迈进。2004年毕业于立教大学理学部数学科。2006年立教大学理学研究科的博士肄业。在Web类企业做了一些开发工作以后,从2008年开始成为自由程序员(freelance programmer)。曾多次向杂志投稿。
书籍目录
序
前言
第1章 欢迎来到Ruby的世界
1.1 Ruby的特征
1.2 处理系统和运行环境
1.3 运行模式
1.4 解释器的运行
1.5 语法和功能
1.6 本章总结
第2章 数组和哈希表
2.1 数组
2.2 哈希表
2.3 Enumerable模块
2.4 本章总结
第3章 数值
3.1 数字
3.2 数值运算
3.3 比较
3.4 数学函数
3.5 比特运算
3.6 本章总结
第4章 字符串
4.1 字符串的创建
4.2 字符和字符字面量
4.3 正则表达式
4.4 对子字符串进行操作
4.5 字符串的操作
4.6 迭代
4.7 格式化
4.8 Symbol
4.9 Ruby 1.8和多字节字符串
4.10 多字节字符串和Ruby 1.9
4.11 本章总结
第5章 输入输出
5.1 程序的参数
5.2 文件
5.3 标准输入输出
5.4 其他的输入输出对象
5.5 编码(Encoding)
5.6 本章总结
第6章 变量和表达式
6.1 变量
6.2 运算符
6.3 控制表达式
6.4 异常处理
6.5 大范围跳出
6.6 本章总结
第7章 方法
7.1 方法调用
7.2 方法的定义
7.3 带有代码块的方法
7.4 本章总结
第8章 对象和类
8.1 类的定义
8.2 变量与常量
8.3 访问权限
8.4 单态方法与单态类
8.5 模块
8.6 方法查找
8.7 本章总结
第9章 超越本书
9.1 RubyGems
9.2 网络
9.3 数据库
9.4 图像
9.5 GUI
9.6 Ruby的黑魔术
9.7 Ruby的信息源
9.8 社区
附录A 处理系统的安装
A.1 版本的选择
A.2 Microsoft Windows
A.3 Mac OS X
A.4 GNU/Linux
A.5 从源程序进行安装
A.6 RubyGems
A.7 其他
附录B 表
B.1 Ruby 1.8到1.9的变化
B.2 用语集
章节摘录
1.2.1版本体系MRI版本号的构成形式是(MAJoR)、(MINOR)、(TEENY)。其中MAJOR、MINOR、TEENY分别是只有1位的整数,比如,“1.4.2”和“1.8.6”。MINoR是偶数时为稳定版,以用户的日常使用为目的开发而成,重视运行的可信赖性和规范的稳定性;MINOR是奇数时为开发版,以稳定版的发布为目标,对新的规范和库进行实验性的开发和实现。不过,在1.9版系统中使用的版本号体系则稍有不同。1.9版系统的TEENY大于1时为稳定版,TEENY是0的版本则为开发版。 1.8版系统在编写本书时,MRI的1.8版系统正在被广泛使用。从2003年8月1.8.0发布以来,该系统的稳定性得到了不断地提高,逐渐得到大家的信赖。通过1.8版系统,Ruby被大家所认识。它也被囊括在各种GNU/Linux的发布版中,在Mac OS X中也被默认安装。在这一系列的发展中,Ruby on Rails的诞生对Ruby的普及起了决定性的作用。 1.9版系统 1.9版系统是以向2.0版系统迈进为目的而开发的。总有一天Ruby 2.0版将会到来。Ruby的开发阵营以此为目标,对语言的规范进行着不断的精细化。搭载更加需要的功能,扫除缺点,总有一天将会以“令人期待的Ruby 2.0”的形式展现在用户的面前。不过经过这样浩大的修正工程,Ruby 2.0也许会变得和迄今为止的Ruby截然不同。Ruby 1.9的发布是以将现有的成果进行整理和总结为开始的,同时也是为了能让用户能够体验新的功能。例如,1.9版对评估器进行了改写从而使执行的效率得到了很大提高。通过基准程序的测试,其运行速度是1.8版的50倍。而且,在1.9版中大部分的字符编码可以被很自然地运用。正则表达式的处理方法得到了替换,使其能力得到了很大提高。同时,语法上的一些不自然的地方也得到了改善。
图书封面
图书标签Tags
无
评论、评分、阅读与下载