本图书摘选来自Amazon网站销量最好的三本Ruby书之一《The Ruby Way》第二版的中文版(《Ruby之道》,已由人民邮电出版社出版)第11章,介绍了一些不常见或较高级的OOP技术以及一些常见的用法。同时介绍了一些设计模式的实现(以及一些不需要实现的模式),还讨论Ruby的反射API、Ruby的动态性导致的一些有趣的结果以及使用动态语言能够实现的各种技巧。
\Ruby是一种面向对象的敏捷语言,借鉴了LISP、Smalltalk、Perl、CLU和其他语言的最佳特性。在本书第一版面世后的5年内,Ruby得以日益流行。《Ruby之道》采用“如何解决问题”的方式阐述Ruby编程,书中包含400多个按主题分类的示例。每个示例都回答了“如何使用Ruby来完成”的问题。首先对要完成的任务进行了描述,并讨论了技术方面的约束条件;然后逐步地阐述了一种优秀的解决方案。在过程中,作者辅以说明和解释来帮助读者理解。
\本文作者Hal Fulton有着非常丰富的软件从业经历,早年他主要从事Unix系统相关的开发工作,在1999年首次接触Ruby,然后就一发不可收拾地爱上了这门语言。他先后参见了6次Ruby大会,并在其中的4次中发表过演讲,现在他仍然活跃在Ruby的邮件列表和IRC频道中,而且正在开发几个Ruby项目。也许正因为他对这门语言的热爱,才使得他写出了包括Ruby语言创始人松本行弘都为之赞叹的《The Ruby Way》,并亲自为这本书的第一版和第二版作序。在序中,松本行弘说:
\“道”是很难形容的。我能够感受到它,但未曾尝试过用语言来解释它。这太难了,即使是用我的母语日语。但Hal Fulton这样做了,且第一次(本书的第一版)就做得很不错。由于得到了Ruby社区许多人的帮助,他的第二次尝试(即《Ruby之道》第二版)更出色。\
征得人民邮电出版社的同意,我们将松本行弘的两个序言悉数加入到本摘选中,一起分享这位Ruby大师的珠玑之言。
\本书涵盖如下主题:
\- Ruby概述,阐述了术语和基本原理;\
- 低级数据类型(数字、字符串、正则表达式等)的运算;\
- 新的正则表达式引擎(Oniguruma);\
- 国际化(I18N)和Ruby消息目录;\
- 散列、数组及其他数据结构(如栈、树和图)的运算;\
- 使用I/O、文件和持久化对象;\
- MySQL、SQLite、Oracle、DBI等数据库;\
- Ruby特有的OOP技术及动态编程;\
- Ruby图形界面(Tk、GTK+、Fox和Qt);\
- 使用Ruby线程实现轻量级多任务;\
- 将Ruby用于编写脚本和系统管理;\
- 使用图像文件、PDF、YAML、XML、RSS和Atom;\
- Ruby代码的测试、调试、剖析和打包;\
- 低级网络编程和客户/服务器交互;\
- Web开发工具,包括Rails、Nitro、Wee、IOWA等;\
- 使用分布式Ruby、Rinda和Ring;\
- Ruby开发工具,如IDE、文档化工具等。\