标题：Ruby完全自学手册
版权信息
书 名: Ruby完全自学手册
作　者：邓蔚
出版社： 机械工业出版社
出版时间： 2009
ISBN: 9787111255697
开本： 16
定价: 58.00 元
内容简介
希望借助于平易的讲解，让读者在学习的过程中，理解Ruby的编程思想，充分享受编程的乐趣，通过《Ruby完全自学手册》进入Ruby开发的殿堂。同时也希望能够与各位读者分享多年来积累的Ruby程序和网站开发的经验。
《Ruby完全自学手册》适合准备学习或了解Ruby语言和IRails框架的各类读者阅读，并可作为开发人员的参考手册。
编辑推荐
《Ruby完全自学手册》特色：涵盖基础知识、核心技术、典型示例等内容，按照“基本概念-核心语法-典型示例”的模式讲解，容易上手，提供180余个典型案例、4个项目案例。
超值光盘内容：《Ruby完全自学手册》源代码+《Ruby完全自学手册》视频演示+《Ruby完全自学手册》电子教案（PPT），1200余页编程技术文档（免费赠送）+45个编程专题视频讲座（免费赠送）。
系统介绍Ruby的语法、基本类型及各种动态特性
全面讲解RIJby在网络应用、图形
处理、系统管理及Web开发等各领域的应用
采用大量实例，详解RUby语言所能涉及的各种常用知识和应用
详细介绍网站开发框架RubyonRails的基础及应用
通过4个项目案例讲解Ruby的典型应用
作者均为有多年编程经验的一线程序员或者培训讲师
目录
写给自学编程的人员
前言第一篇Ruby语言第1章Ruby介绍1
1.1Ruby是什么1
1.1.1Ruby概述1
1.1.2初识Ruby1
1.2为什么选择Ruby2
1.2.1Ruby特性2
1.2.2应用领域3
1.2.3与其他语言的比较3
1.3与Ruby相关的资源4
1.3.1Ruby社区和网站资源4
1.3.2JRuby、XRuby和IronRuby介绍5
1.3.3HacketyHack介绍6
1.4如何学习Ruby语言8
1.5小结8
第2章搭建Ruby开发环境9
2.1安装Ruby9
2.2编辑工具IDE介绍10
2.2.1SciTE介绍10
2.2.2FreeRIDE介绍10
2.2.3AptanaRadRails介绍10
2.2.4使用EditPlus/UltraEditor编辑Ruby代码11
2.2.5NetBeans介绍13
2.3相关工具介绍14
2.3.1irb（交互式RubyShell）14
2.3.2rdoc、ri、fxri（Ruby文档工具）15
2.3.3gem（Ruby包管理）17
2.3.4RubyScript2Exe、Exerb（Ruby代码编译成EXE）18
2.4小结19
第3章Ruby语法入门20
3.1概述20
3.2面向对象OO介绍20
3.3关键字、标识符和注释21
3.4数据和运算22
3.4.1常量和变量23
3.4.2基本类型23
3.4.3运算符及其优先级23
3.5流程控制24
3.5.1条件语句（if,unless,case）24
3.5.2循环控制（while,until,for,each）26
3.6Ruby中的OOP简介27
3.6.1定义类和构造函数27
3.6.2定义类方法和属性28
3.6.3访问控制30
3.6.4类变量和实例变量31
3.6.5类的扩展和继承32
3.6.6别名34
3.6.7复制、冻结对象35
3.6.8对象序列化37
3.7模块和Mixin37
3.7.1模块介绍37
3.7.2加载和混入模块（require,load,include,extend）39
3.8内置类和Ruby标准库40
3.9动态特性41
3.9.1会变魔法的动态特性41
3.9.2动态执行代码41
3.9.3动态获得模块或类中的方法、常量和变量值42
3.9.4动态定义方法43
3.9.5const_missing、method_missing介绍43
3.9.6动态删除定义46
3.10代码块和迭代47
3.10.1代码块47
3.10.2yield和迭代48
3.10.3Proc和lambda介绍49
3.11异常处理50
3.11.1异常处理结构50
3.11.2抛出异常51
3.11.3恢复执行51
3.12小结52
第4章Ruby基本类型53
4.1数字53
4.1.1整数（Fixnum,Bignum）53
4.1.2浮点数Float54
4.1.3Math模块54
4.2字符串String55
4.2.1字符串表示55
4.2.2转义符、嵌入字符串55
4.2.3基本操作56
4.2.4常用方法57
4.2.5字符串加密57
4.3符号Symbol58
4.4可枚举模块Enumerable59
4.4.1概述59
4.4.2遍历、搜索方法60
4.4.3比较、排序方法61
4.5区间Range62
4.5.1概述62
4.5.2常用方法62
4.5.3自定义区间62
4.6数组Array64
4.6.1概述64
4.6.2定义数组、并行赋值64
4.6.3运算和常用方法65
4.6.4查找、修改、排序以及迭代66
4.7散列Hash69
4.7.1概述69
4.7.2定义散列69
4.7.3散列常用方法69
4.7.4查找和迭代70
4.8正则表达式Regexp71
4.8.1正则表达式简介71
4.8.2定义正则表达式72
4.8.3查找、替换73
4.8.4常见示例74
4.9时间Time75
4.10小结76
第二篇Ruby常用库介绍及高级应用第5章Ruby的编码处理77
5.1乱码的缘由77
5.2jcode库和$KCODE78
5.3编码的相互转换79
5.4小结80
第6章I/O操作和文件处理81
6.1简单的输入/输出81
6.2文件和目录操作82
6.2.1File和Dir类82
6.2.2读写文件示例84
6.2.3目录操作示例86
6.3操作XML87
6.3.1生成XML88
6.3.2解析XML88
6.3.3访问RSS聚合89
6.4YMAL库90
6.5操作PDF91
6.5.1RubyFPDF介绍91
6.5.2示例：使用RubyFPDF创建PDF文件92
6.6读写ZIP文件93
6.7图像文件处理95
6.7.1RMagick介绍95
6.7.2获取图像文件信息96
6.7.3生成缩略图96
6.7.4在图片上添加文字97
6.7.5特效和变换99
6.8小结100
第7章访问数据库101
7.1与MySQL数据库直接对话101
7.1.1Ruby/MySQL简介101
7.1.2连接MySQL数据库101
7.1.3更多数据库操作102
7.1.4Ruby/MySQLAPI参考103
7.2直接连接Oracle数据库104
7.2.1安装Ruby/OCI8104
7.2.2Oracle数据库使用示例104
7.2.3Ruby/OCI8API参考104
7.3通用数据库接口库DBI105
7.3.1DBI概述105
7.3.2安装DBI106
7.3.3使用DBI访问MySQL数据库106
7.3.4使用DBI访问Oracle数据库107
7.3.5事务处理108
7.3.6DBIAPI介绍108
7.4小结109
第8章网络编程110
8.1NET库介绍110
8.2抓取网页110
8.3使用POP3收取邮件113
8.4使用SMTP发送邮件114
8.5访问FTP115
8.6小结117
第9章系统相关技术和创建图形界面118
9.1运行外部程序118
9.2编写命令行程序和使用ARGV变量119
9.3Win32API和Win32OLE120
9.3.1Win32API简介120
9.3.2Win32OLE简介121
9.3.3使用Win32OLE操作Word和Excel121
9.3.4使用Win32OLE控制IE浏览器123
9.4使用Ruby构建图形界面124
9.5Ruby/Tk应用介绍125
9.5.1下载并安装Tcl/Tk125
9.5.2编写HelloWorld125
9.5.3Tk部件126
9.5.4事件处理129
9.5.5Canvas画布130
9.6WxRuby应用介绍131
9.6.1下载并安装WxRuby131
9.6.2第一个WxRuby程序133
9.6.3基本控件介绍134
9.6.4事件处理136
9.7Shoes应用介绍138
9.7.1下载并安装Shoes138
9.7.2第一个Shoes程序140
9.7.3Stacks和Flows介绍140
9.7.4基本控件142
9.7.5绘图和动画143
9.8小结145
第10章单元测试146
10.1单元测试概述146
10.2Ruby测试框架146
10.2.1简介146
10.2.2测试流程147
10.2.3断言Assert149
10.3测试示例：计算两点距离149
10.4小结152
第三篇网站开发框架RubyonRails第11章Rails概述153
11.1什么是Rails153
11.2MVC简介153
11.3Rails的特点154
11.4Rails核心模块155
11.5Rails相关资源156
11.6如何学习Rails158
11.6.1注意Rails的特殊URL表达方法158
11.6.2了解Rails命名约定惯例158
11.6.3勤于检索Rails的文档158
11.6.4站在Ruby的角度学习和了解Rails159
11.7小结159
第12章应用Rails160
12.1安装Rails160
12.2配置数据库161
12.2.1安装并配置MySQL数据库161
12.2.2MySQL基本操作162
12.3创建Rails应用程序164
12.4配置Rails数据库连接166
12.5运行Rails应用程序167
12.6生成MyTest控制器168
12.7显示多种语言的“你好”170
12.7.1在数据库中创建一个表170
12.7.2试试scaffold171
12.7.3显示各种语言174
12.8InstantRails介绍175
12.8.1安装InstantRails175
12.8.2InstantRails界面介绍175
12.8.3Rails程序运行测试176
12.8.4创建Rails应用程序177
12.9小结178
第13章深入学习Rails179
13.1Rails框架结构179
13.1.1目录结构179
13.1.2常用命令181
13.1.3命名约定182
13.1.4开发、测试、生产模式183
13.1.5Rails配置183
13.1.6ActiveSupport184
13.2ActiveRecord介绍186
13.2.1数据库与对象的映射关系186
13.2.2CRUD操作188
13.2.3表间关联192
13.2.4校验195
13.2.5回调196
13.3ActionController介绍197
13.3.1访问处理的流程197
13.3.2自定义路由198
13.3.3控制器中的变量199
13.3.4控制器的应答201
13.3.5过滤器202
13.4ActionView介绍203
13.4.1视图模板简介203
13.4.2rhtml模板204
13.4.3辅助方法Helper204
13.4.4布局模板和局部页面模板209
13.5Rails的插件210
13.5.1了解Rails的插件210
13.5.2可视化的HTML编辑器FCKEditorforRails210
13.5.3自动发送错误邮件ExceptionNotifier211
13.5.4活动脚手架ActiveScaffold插件212
13.6小结221
第14章迁移Migration技术222
14.1迁移技术概述222
14.2创建迁移任务222
14.3结构迁移224
14.3.1创建、重命名和删除表224
14.3.2添加、修改和删除字段225
14.3.3管理索引226
14.4数据迁移227
14.5其他迁移228
14.6执行迁移操作229
14.7小结229
第15章Rails中Ajax的应用231
15.1Ajax介绍231
15.2Prototype介绍232
15.2.1Prototype概述232
15.2.2实用方法介绍232
15.2.3Element类234
15.2.4Enumerable类235
15.2.5Ajax类236
15.2.6Prototype应用示例237
15.3Rails的辅助方法240
15.3.1link_to_remote方法240
15.3.2form_remote_tag方法242
15.3.3observe_field方法244
15.3.4periodically_call_remote方法244
15.4小结245
第16章使用ActionMailer发送电子邮件246
16.1ActionMailer概述246
16.2创建邮件发送器247
16.3修改发送模型和视图249
16.4发送邮件250
16.5发送HTML格式邮件251
16.6为邮件添加附件253
16.7小结255
第17章网站测试256
17.1Rails测试结构256
17.2模型的测试257
17.2.1测试模型HelloText类的CRUD方法258
17.2.2测试模型校验方法260
17.2.3测试自定义方法261
17.3控制器的测试262
17.4运行测试265
17.5小结266
第18章调试和部署267
18.1调试267
18.1.1使用console控制台267
18.1.2使用Logger类269
18.1.3在NetBeans里面进行调试270
18.1.4使用Firebug进行客户端调试271
18.2发布和部署Rails网站273
18.2.1常见的部署方式273
18.2.2安装Apache274
18.2.3安装Mongrel274
18.2.4部署配置275
18.3小结277
第四篇开发实战第19章模拟生命游戏279
19.1生命游戏介绍279
19.2初步设计280
19.2.1功能分析280
19.2.2界面设计280
19.3编写代码281
19.3.1界面代码281
19.3.2细胞演化代码286
19.3.3绘图及事件响应代码288
19.3.4完成项目代码290
19.4小结299
第20章自制Ruby编辑器300
20.1界面和功能分析300
20.2界面实现301
20.2.1菜单实现301
20.2.2文件选择Tab和编辑区域的实现302
20.3创建RubyEditor项目实战306
20.3.1创建RubyEditor项目306
20.3.2创建主程序ruby_editor.rb307
20.3.3创建文本编辑控件代码文件scintilla.rb307
20.3.4修改主程序ruby_editor.rb，完善程序界面309
20.3.5运行测试312
20.4事件响应处理312
20.5功能实现313
20.5.1实现新建、打开和保存文件功能313
20.5.2查找和替换功能的实现322
20.6代码完善325
20.6.1主程序ruby_editor.rb325
20.6.2主界面aui_frame.rb325
20.6.3文本编辑器控件类scintilla.rb330
20.7小结332
第21章Digger掘客网站333
21.1功能及用例分析333
21.1.1功能分析333
21.1.2用例分析335
21.2界面与数据库设计335
21.2.1界面设计335
21.2.2数据库设计336
21.3开始编码337
21.3.1创建digger项目337
21.3.2数据库配置338
21.3.3使用acts_as_authenticated插件339
21.3.4创建模型341
21.3.5创建控制器和视图344
21.3.6完善界面351
21.4加入分类标记功能354
21.4.1安装acts_as_taggable插件354
21.4.2修改Content模型355
21.4.3修改相关动作和视图356
21.5小结359
第22章用Rails开发留言簿系统360
22.1系统分析和设计流程360
22.1.1浏览留言簿主界面360
22.1.2浏览用户留言361
22.1.3新建留言361
22.1.4管理员查看留言列表362
22.1.5管理员修改留言363
22.1.6管理员新建留言363
22.1.7整体设计思路363
22.2分析并设计数据库364
22.3Rails开发步骤364
22.3.1创建RailWeb应用项目365
22.3.2创建数据库和配置数据库连接365
22.3.3创建模型类365
22.3.4给模型类添加业务逻辑处理366
22.3.5给模型类添加验证逻辑处理366
22.3.6创建普通用户访问Web控制器guestbook367
22.3.7定义普通用户请求页面统一布局367
22.3.8添加逻辑处理并修改相应的视图模板完成页面输出368
22.3.9创建管理员访问Web控制器guestbookadmin373
22.3.10定义管理员请求页面统一布局373
22.3.11逻辑处理并修改相应的视图模板完成页面输出373
22.3.12测试运行378
22.4小结378
附录常用类函数379