前言
第1章 字符串
1. 1 根据部分构建字符串
1. 2 将变量代八字符串
1. 3 将变量代入现有的字符串
1. 4 按字或字符逆转字符串
1. 5 表示不可打印字符
1. 6 字符与值的相互转换
1. 7 字符串与符号之间的相互转换
1. 8 每次处理字符串中的一个字符
1. 9 每次处理字符串中的一个字
1. 10 修改字符串的大小写
1. 11 管理空白
1. 12 测试对象是否类似于字符串
1. 13 获得想要的字符串部分
1. 14 处理国际编码
1. 15 带自动换行的文本
1. 16 生成字符串的后继
1. 17 使用正则表达式匹配字符串
1. 18 一遍替换多种模式
1. 19 验证电子邮箱地址
1. 20 使用贝叶斯分析器对文本进行分类
第2章 数字
2. 1 由字符串分析数字
2. 2 浮点数的比较
2. 3 表示数字至任意精度
2. 4 有理数的表示
2. 5 随机数的生成
2. 6 数字基之间的转换
2. 7 获取对数
2. 8 确定平均数. 中值和模
2. 9 度数与弧度之间的转换
2. 10 矩阵乘法
2. 11 求解线性方程组
2. 12 复数的使用
2. 13 模拟Fixnum的子类
2. 14 使用罗马数字进行数学运算
2. 15 生成数字序列
2. 16 生成素数
2. 17 检查信用卡校验和
第3章 日期与时间
3. 1 查找当前日期
3. 2 精确或模糊地分析日期
3. 3 打印日期
3. 4 日期上的迭代
3. 5 计算日期
3. 6 从任意日期开始计算天数
3. 7 时区转换
3. 8 检查夏令时是否起效
3. 9 Time与DateTime对象之间的转换
3. 10 查找周日期
3. 11 处理商用日期
3. 12 周期性运行代码块
3. 13 等待固定长度的时间
3. 14 为长期运行的操作添加超时
第4章 数组
4. 1 在数组上迭代
4. 2 不使用临时变量重排值
4. 3 去除数组中的重复元素
4. 4 逆转数组
4. 5 数组排序
4. 6 排序字符串时忽略大小写
4. 7 确保已排序数组保持有序
4. 8 数组项求和
4. 9 按出现率排序数组
4. 10 打乱数组
4. 11 获取数组的N个最小项
4. 12 使用Injection构建散列
4. 13 提取部分数组
4. 14 在数组上处理集合运算
4. 15 集合划分或分类
第5章 散列
5. 1 使用符号作为散列键
5. 2 创建带默认值的散列
5. 3 向散列添加元素
5. 4 从散列中去除元素
5. 5 使用数组或其他可修改对象作为散列键
5. 6 为相同散列键保持重复值
5. 7 在散列上迭代
5. 8 按插入顺序在散列上迭代
5. 9 散列打印
5. 10 反转散列
5. 11 随机选择加权列表
5. 12 构建柱状图
5. 13 重新映射散列的键与值
5. 14 提取部分散列
5. 15 使用正则表达式搜索散列
第6章 文件与目录
6. 1 检查文件是否存在
6. 2 检查对文件的访问
6. 3 更改文件权限
6. 4 查看上次使用文件的时间
6. 5 目录清单
6. 6 读取文件内容
6. 7 写文件
6. 8 写临时文件
6. 9 从文件中挑选随机行
6. 10 比较两个文件
6. 11 在“只读一次”输入流上执行随机访问
6. 12 遍历目录树
6. 13 文件加锁
6. 14 备份至带版本号的文件名
6. 15 伪装字符串为文件
6. 16 重定向标准输出或输出
6. 17 处理二进制文件
6. 18 删除文件
6. 19 截短文件
6. 20 查找所需文件
6. 21 查找并修改当前工作目录
第7章 代码块与迭代
7. 1 代码块的创建与调用
7. 2 编写接收代码块的方法
7. 3 将代码块参数与变量绑定
7. 4 作为闭包的代码块:在代码块内使用外部变量
7. 5 在数据结构上编写迭代器
7. 6 更改对象的迭代方式
7. 7 编写分类或收集的代码块方法
7. 8 停止迭代
7. 9 并行地在多个迭代变量上循环
7. 10 隐藏块方法中的设置与清除
7. 11 使用回调的松耦合系统
第8章 对象与类
8. 1 管理实例数据
8. 2 管理类数据
8. 3 检查类或模块的成员
8. 4 编写一个继承类
8. 5 方法重载
8. 6 验证并修改属性值
8. 7 定义虚属性
8. 8 授权对另一对象的方法调用
8. 9 对象到不同类型的转换与强制转换
8. 10 从任意对象获取人类可读的打印输出
8. 11 接收或传递参数的变量数目
8. 12 模拟关键宇参数
8. 13 调用超类的方法
8. 14 创建抽象方法
8. 15 冻结对象以防修改
8. 16 生成对象的副本
8. 17 声明常量
8. 18 实现类方法和singleton方法
8. 19 通过私有化方法控制访问
第9章 模块与命名空间
9. 1 使用混入模拟多重继承
9. 2 使用模块扩展特定对象
9. 3 混用类方法
9. 4 实现Enumerable:编写一个方法,146获得22种免费方法
9. 5 使用命名空间避免名字冲突
9. 6 按需自动加载库
9. 7 包括命名空间
9. 8 初始化模块定义的实例变量
9. 9 自动初始化混合插入的模块
第10章 反射与元编程
10. 1 查找对象的类和超类
10. 2 列出对象的方法
10. 3 列出对象独有的方法
10. 4 获得方法的引用
10. 5 修正别人类中的错误
10. 6 侦听类的变化
10. 7 检查对象是否具有必需的属性
10. 8 响应对未定义方法的调用
10. 9 自动初始化实例变量
10. 10 使用元编程避免刻板代码
10. 11 带字符串计算的元编程
10. 12 计算早先上下文中的代码
10. 13 取消定义方法
10. 14 为方法起别名
10. 15 面向方面的编程
10. 16 强制实施软件契约
第11章 XML和HTML
11. 1 检查XML的良构性
11. 2 从文档的树结构中提取数据
11. 3 解析文档时提取数据
11. 4 使用XPath导航文档
11. 5 解析不合法标记
11. 6 将一个XML文档转换为一个散列
11. 7 验证XML文档
11. 8 取代XML实体
11. 9 创建并修改XML文档
11. 10 压缩XML文档中的空白
11. 11 猜解文档的编码
11. 12 从一种编码转换为另一种编码
11. 13 从HTML文档中提取所有URL
11. 14 将纯文本转换为HTML
11. 15 将HTML文档从Web转换为文本
11. 16 一个简单的提要聚合器
第12章 图形与其他文件格式
12. 1 缩略图形
12. 2 向图形中添加文本
12. 3 将一个图形格式转换为另一种
12. 4 用图表示数据
12. 5 使用Sparkline添加图形化上下文
12. 6 强加密数据
12. 7 解析逗号分隔的数据
12. 8 解析非完全逗号分隔的数据
12. 9 生成并分析Ex el电子数据表
12. 10 使用Gzip和Tar压缩并存档文件
12. 11 读写ZIP文件
12. 12 读写配置文件
12. 13 生成PDF文件
12. 14 将数据表示为MIDI音乐
第13章 数据库和持久性
13. 1 用YAML串行化数据
13. 2 用Marshal串行化数据
13. 3 用Madeleine保持对象
13. 4 用SimpleSearch索引结构化文本
13. 5 用Ferret索引结构化文本
13. 6 使用BerkeleyDB数据库
13. 7 在Unix上控制MySQL
13. 8 找到查询返回的行数
13. 9 与MySQL数据库直接对话
13. 10 和PostgreSQL数据库直接对话
13. 11 用ActiveRecord使用对象相关映射
13. 12 使用对象相关映射Og
13. 13 以编程方式构建查询
13. 14 用ActiveRecord确认数据
13. 15 阻止SQL注入攻击
13. 16 在ActiveRecord里使用交易
13. 17 添加挂钩程序到表事件中
13. 18 用数据库Minxin添加标签
第14章 Internet服务
14. 1 抓取Web页面的内容
14. 2 发送HTTPS Web请求
14. 3 自定义HTTP的请求头文件
14. 4 执行DNS查询
14. 5 发送邮件
14. 6 用IMAP阅读邮件
14. 7 用POP3阅读邮件
14. 8 作为FTP客户端
14. 9 作为Telnet客户端
14. 10 作为SSH客户端
14. 11 复制文件到其他机器
14. 12 作为BitTorrent客户端
14. 13 ping机器
14. 14 编写Internet服务器
14. 15 分析URL
14. 16 编写CGI脚本
14. 17 设置cookie和其他HTTP响应头文件
14. 18 用CGI处理文件上传
14. 19 用WEBrick运行servlet
14. 20 真实世界的HTTP客户端
第15章 Web开发:Ruby on Rails
15. 1 编写简单的Rails应用程序显示系统状态
15. 2 从控制器传递数据到视图
15. 3 创建页眉和页脚的布局
15. 4 重新定位不同的位置
15. 5 用render显示模板
15. 6 集成数据库到Rails应用程序中
15. 7 理解复数规则
15. 8 创建登录系统
15. 9 保存散列化的用户密码到数据库中
15. 10 转义显示用的HTML和JavaScript
15. 11 设置并找回会话信息
15. 12 设置并找回Cookie
15. 13 提取代码到辅助函数中
15. 14 重构视图为视图的部分片断
15. 15 用script. aculo. us添加DHTML效果
15. 16 生成操作模型对象的表格
15. 17 创建AJax表格
15. 18 在Web站点上发布Web服务
15. 19 用Rails发送邮件
15. 20 自动发送错误信息到邮箱
15. 21 文档化Web站点
15. 22 Web站点的单元测试
15. 23 在Web应用程序中使用断点
第16章 Web服务及分布式编程
16. 1 搜索Amazon上的书
16. 2 找到Flickr上的照片
16. 3 编写XML-RPC客户端
16. 4 编写SOAP客户端
16. 5 编写SOAP服务器
16. 6 用Google的SOAP服务搜索Web
16. 7 使用WSDL文件更简单地构建SOAP调用
16. 8 用信用卡支付
16. 9 通过UPS或FedEx找到装运包的费用
16. 10 在任意数目的计算机间共享散列
16. 11 实现分布式查询
16. 12 创建共享的“白板”
16. 13 通过访问控制列表保障DRb服务的安全
16. 14 通过Rinda自动发现DRb服务
16. 15 代理无法分布的对象
16. 16 用MemCached在分布式RAM上保存数据
16. 17 用MemCached高速缓存重要结果
16. 18 远程控制的Jukebox
第17章 测试. 调试. 优化以及文档化
17. 1 只在调试模式下运行代码
17. 2 发出异常
17. 3 处理异常
17. 4 在异常后重新运行
17. 5 添加日志到应用程序中
17. 6 创建并理解Traceback
17. 7 编写单元测试
17. 8 运行单元测试
17. 9 测试使用外部资源的代码
17. 10 使用断点审查并改变应用程序的状态
17. 11 文档化应用程序
17. 12 记录应用程序
17. 13 Benchmark竞争性解决方案
17. 14 一次运行多个分析工具
17. 15 谁调用了该方法?调用图形分析器
第18章 打包和发布软件
18. 1 通过查询gem知识库寻找库
18. 2 安装并使用gem
18. 3 要求gem的某个特定版本
18. 4 卸载gem
18. 5 为已安装的gem读入文档
18. 6 打包代码为gem
18. 7 发布gem
18. 8 用setup. rb安装并创建独立Ruby程序包
第19章 用Rake自动执行任务
19. 1 自动运行单元测试
19. 3 清除生成的文件
19. 4 自动构建gem
19. 5 收集代码的统计信息
19. 6 发布文档
19. 7 并行运行多个任务
19. 8 通用的项目Rakefile
第20章 多任务和多线程
20. 1 在Unix上运行守护进程
20. 2 创建Windows服务
20. 3 用线程一次做两件事情
20. 4 同步访问一个对象
20. 5 中止线程
20. 6 在很多对象上同时运行代码块
20. 7 用线程池限制多线程
20. 8 用popen驱动外部进程
20. 9 通过Unixshell命令抓取输出和错误流
20. 10 控制其他机器上的进程
0. 11 避免死锁
第21章 用户界面
21. 1 一次得到输入中的一行
21. 2 一次得到输入的一个字符
21. 3 分析命令行参数
21. 4 测试程序是否交互运行
21. 5 设置和卸载Curses程序
21. 6 清空屏幕
21. 7 决定终端大小
21. 8 改变文本的颜色
21. 9 读入密码
21. 10 允许用Readline编辑输入
21. 11 使得键盘指示灯闪烁
21. 12 用Tk创建一个GUI应用程序
21. 13 用wxRuby创建一个GUI应用程序
21. 14 用Ruby/GTK创建一个GUI应用程序
21. 15 用RubyCocoa创建一个Ma OS X应用程序
21. 16 用AppleScript得到用户输入
第22章 用其他语言扩展Ruby
22. 1 为Ruby编写C扩展程序
22. 2 在Ruby中使用C库
22. 3 通过SWIG调用C库
22. 4 通过SWIG调用C库
22. 5 用JRuby使用Java库
第23章 系统管理
23. 1 脚本化外部程序
23. 2 管理Windows服务
23. 3 作为另一个用户运行代码
23. 4 不用cron或at运行周期性任务
23. 5 删除匹配正则表达式的文件
23. 6 批量重命名文件
23. 7 找到复制的文件
23. 8 自动备份
23. 9 在用户目录下规范化所有权和权限
23. 10 为给定用户杀死所有进程