在Ruby on Rails——以Ruby设计而成的网络程序架构现身后,Ruby也随之受到许多关爱的眼神,这是迟来的关爱!Ruby与Java问世的时间差不多,但它在日本以外的知名度并不高,一切到了2000年才有所改变。而在最近几年中,Ruby的受欢迎程度持续提高,其中当然是有原因。.
目标读者
一般而言,有两种读者会拿起这本书:一种是有经验而想学Ruby的工程师,一种是想学程序设计的新手。我试着满足这两大类读者的需求,小心翼翼地求取平衡:我先把读者当成业界老手,但也会提供许多针对新手的帮助,多半以注意事项或说明版块的方式呈现。对于很有经验的读者,我也会适时提出略过部分内容的建议。
如果你还算是有经验的程序员,可能只想从头到尾地阅读代码范例,而跳过了对范例的解释。你可能想通过只阅读代码来加快学习的速度。代码以一种多少符合逻辑的方式来排列,因此,你可能能够以相当快的速度搞懂Ruby。如果你是程序设计的新手,我尝试通过说明一些正在进行的事情来让你学起来更容易。
使用方式
开车上路前你需要学会关于汽车的每项细节吗?你要知道燃料如何填充、燃烧,或是了解正时皮带的运作原理才能开车吗?当然不用。
运用新的程序语言也不需要彻底了解它的肌理脉络。我将提供非常多Ruby程序,很多程序只有一行,然后解说它们运作的方式,帮助各位上路。我相信,观察、模仿、从做中学才是大多数人学习的方式,希望本书提供的例子能达到这个目的。
这本书的目的是即时上手,就像不知道车上搭载了六个或八个汽缸还是能开车一样。Ruby on Rails的发明者David Heinemeier Hansson讲过一句我很喜欢的话:“动手做一点点改变、重新载入,然后观察改变的成果,大家都是如此学习。”真是至理名言。我的经验也是如此:从解析与修改程序代码的骇客行为中我学到的知识远比阅读程序代码更多。
同时,这本书的步调也很快,不会陷入细节解释的漩涡中。等到时机成熟,细节知识自然会出现,现在最重要的事情是让读者一直前进再前进。
如果读者们都追随我的步调,自己动手调整程序并尝试执行,你的学习速度应该很快。越常动手做,使用语言时越见流利,用不了多久你就开始用Ruby思考,甚至连梦中都是Ruby了。然后百尺竿头、更上一步的工作就留给各位读者了。
编写本书时,Ruby最新的稳定版为1.8.6,也是本书使用的版本。如果想使用较早版本,我不会阻挡你,但无法保证书中的范例都能正常运行(但应该可以)。
本书范例
我认为,从观察中学习、再由模仿中熟悉的效果最好。我们从小就是如此学习与外界沟通。所以本书几乎每页都有范例文件,方便大家观察与模仿。
本书范例可到http://www.oreilly.com/catalog/9780596529864下载。我希望能让大家取得足够范例,可以涵盖大多数基本程序设计的任务。
本书组织方式
本书共由11章组成,分别是:
第1章,Ruby基础知识
介绍许多Ruby的入门基础,例如下载Ruby的地方、安装Ruby的方式,让读者立即开始使用Ruby。
第2章,Ruby快速导览
轻快地导览Ruby王国环境,简短地说明最重要的功能特色。
.第3章,条件语句
条件语句(例如if与while)的介绍与示范,包括循环。
第4章,字符串
Ruby操作字串的方式(包括正则表达式的讨论)。
第5章,数学计算
使用操作符、基本数学函数、Math模组提供的函数、有理数……等等。
第6章,数组
详细说明Ruby的数组。
第7章,哈希
详细示范什么是哈希。
第8章,处理文件
讨论Ruby处理文件的方式,包括读写文件等等。..
第9章,类
说明Ruby的类功能,也对面向对象程序设计(Object-Oriented Programming,OOP)稍有提及,另外也说明实例变量、实例方法、类变量、类方法、模组和混成机制。
第10章,Ruby甜更多乐趣
介绍各种有趣的议题,包括RubyGems、反射机制、元编程、异常处理……等等。
第11章,Ruby on Rails简介
引导读者熟悉重要的Rails,并附有简短导览(Ruby on Rails确实增加了Ruby的可见度)。
附录A,Ruby参考表
收录本书提到的参考表,例如Ruby的保留字。
附录B,随堂练习解答
每章总结时的随堂练习解答(超过一百道题)。
术语表
与Ruby相关的技术词汇与定义。
本书体例
本书使用下列字体体例。
斜体字(Italic)
·路径与文档名(例如程序名称)
·网址,例如网络名称与URL
·新术语定义出现的地方,表示强调
宽体字(Constant width)
·在命令行或irb里必须逐字输入的命令或选项
·Ruby程序的关键字与各种名称,包括方法名称、变量名称、类名称等等。
定宽斜体字(Constant width italic)
·命令或程序语法中,由读者自行替换的参数或变量。
·Ruby程序中的名字和关键字,包括方法名、变量名和类名
·说明一些小技巧、建议或一般注意事项。
定宽粗体字(Constant width bold)
·用于标示程序中值得注意的部分。
批评与建议
请将您对本书的宝贵意见及问题告诉我们。来信请寄:
美国:
O'Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
100080北京市海淀区知春路49号希格玛公寓B座809室
奥莱理软件(北京)有限公司
O'Reilly的每一本书都有专属网页,上面有勘误表与各种相关信息,网址是:
http://www.oreilly.com/catalog/9780596529864/(原文书网页)
http://www.oreilly.com.cn/book.php?bn=978-7-111-23471-5(本书中文网页)
如果想要发表关于本书的评论和技术问题,请发邮件至:
bookquestions@oreilly.com
info@mail.oreilly.com.cn
关于图书、会议、资源中心和O'Reilly网络的更多信息,请查看我们的站点:
http://www.oreilly.com
http://www.oreilly.com.cn
致谢
我想再一次感谢我的编辑Simon St.Laurent,谢谢他给我编写这本书的机会。因为有Simon的鼓励我才能在同时写四本书的计划中活下来!
我也要感谢Ryan Waldron和Joey Franklin提供的技术协助。当我漂向无边无际的技术大海时,全靠他们把我拉回岸边。谢了!
最后,也是最重要的:妻子Cristi,还有女儿Melissa、Amy与Aubrey,谢谢你们支持我、给我信心;有了你们,我的一切努力都值得了。...