标题：Programming Ruby中文版：第2版
基本信息
原书名： Programming Ruby，Second Edition  原出版社： Pragmatic Programmer, LLC.
作者： (美)托马斯(Thomas,D.)    弗沃尔(Fowler,C.)    亨特(Hunt,A.)   
译者： 孙勇 姚延栋 张海峰
出版社：电子工业出版社
ISBN：9787121038150
上架时间：2007-3-22
出版日期：2007 年3月
开本：16开
页码：830
版次：2-1
内容简介
ruby是一种跨平台、面向对象的动态类型编程语言。ruby体现了表达的一致性和简单性，它不仅是一门编程语言，更是表达想法的一种简练方式。它不仅受到广大程序员的欢迎，无数的软件大师亦为其倾倒。programming ruby是关于ruby语言的一本权威著作，也被称为pickaxe book（镐头书，由封面上的工具得名）。本书是它的第2版，其中包括超过200页的新内容，以及对原有内容的修订，涵盖了ruby 1.8中新的和改进的特性以及标准库模块。它不仅是您学习ruby语言及其丰富特性的一本优秀教程，也可以作为日常编程时类和模块的参考手册。.
本书适合各种程度的ruby程序员，无论新手还是老兵，都会从中得到巨大的帮助。... 
作者简介
Dave Thomas是Ruby社区的一根顶梁柱，并且亲自负责Ruby许多创新性方向的探讨和开创工作。他和原来的合著者Andy Hunt是Pragmatic Programme似及Pragmatic Bookshelf的创始人。Chad Fowler是Ruby Central，Inc．的共同董事，并且始终是Ruby社区中活跃且起推进作用的力量。
目录
第1版序. xv 
第2版序 xvii 
前言 xiv 
路线图 xxxv 
第1部分 ruby面面观 1 
第1章 入门 3 
1.1 安装ruby 3 
1.2 运行ruby 5 
1.3 ruby文档：rdoc和ri 8 
第2章 ruby.new 11 
2.1 ruby是一门面向对象语言 11 
2.2 ruby的一些基本知识 13 
2.3 数组和散列表 16 
2.4 控制结构 18 
2.5 正则表达式 19 
2.6 block和迭代器 21 
2.7 读/写文件 23 
2.8 更高更远 24 
第3章 类、对象和变量 25 
3.1 继承和消息 27 
.3.2 对象和属性 29 
3.3 类变量和类方法 33 
3.4 访问控制 37 
3.5 变量 39 
第4章 容器、blocks和迭代器 43 
4.1 容器 43 
4.2 blocks和迭代器 49 
4.3 处处皆是容器 57 
第5章 标准类型 59 
5.1 数字 59 
5.2 字符串 61 
5.3 区间 66 
5.4 正则表达式 68 
第6章 关于方法的更多细节 79 
6.1 定义一个方法 79 
6.2 调用方法 81 
第7章 表达式 87 
7.1 运算符表达式 88 
7.2 表达式之杂项 89 
7.3 赋值 90 
7.4 条件执行 93 
7.5 case表达式 98 
7.6 循环 100 
7.7 变量作用域、循环和blocks 105 
第8章 异常，捕获和抛出 107 
8.1 异常类 107 
8.2 处理异常 108 
8.3 引发异常 112 
8.4 捕获和抛出 114 
第9章 模块 117 
9.1 命名空间 117 
9.2 mixin 118 
9.3 迭代器与可枚举模块 120 
9.4 组合模块 120 
9.5 包含其他文件 123 
第10章 基本输入和输出 127 
10.1 什么是 io 对象 127 
10.2 文件打开和关闭 128 
10.3 文件读写 129 
10.4 谈谈网络 133 
第11章 线程和进程 135 
11.1 多线程 135 
11.2 控制线程调度器 140 
11.3 互斥 141 
11.4 运行多个进程 147 
第12章 单元测试 151 
12.1 test::unit框架 152 
12.2 组织测试 156 
12.3 组织和运行测试 159 
第13章 当遇到麻烦时 163 
13.1 ruby调试器 163 
13.2 交互式ruby 164 
13.3 编辑器支持 165 
13.4 但是它不运作 167 
13.5 然而它太慢了 170 
第2部分 ruby与其环境 175 
第14章 ruby和ruby世界 177 
14.1 命令行参数 177 
14.2 程序终止 180 
14.3 环境变量 181 
14.4 从何处查找它的模块 182 
14.5 编译环境 183 
第15章 交互式ruby shell 185 
15.1 命令行 185 
15.2 配置 190 
15.3 命令 194 
15.4 限制 196 
15.5 rtags与xmp 196 
第16章 文档化ruby 199 
16.1 向ruby代码中添加rdoc 199 
16.2 向c扩展中添加rdoc 207 
16.3 运行rdoc 211 
16.4 显示程序用法信息 212 
第17章 用rubygems进行包的管理 215 
17.1 安装rubygems 216 
17.2 安装程序gems 216 
17.3 安装和使用gem库 218 
17.4 创建自己的gems 223 
第18章 ruby与web 235 
18.1 编写cgi脚本 235 
18.2 cookies 244 
18.3 提升性能 247 
18.4 web服务器的选择 247 
18.5 soap及web services 249 
18.6 更多信息 253 
第19章 ruby tk 255 
19.1 简单的tk应用程序 255 
19.2 部件 256 
19.3 绑定事件 260 
19.4 画布 261 
19.5 滚动 263 
19.6 从perl/tk文档转译 265 
第20章 ruby和微软windows系统 267 
20.1 得到ruby for windows 267 
20.2 在windows下运行ruby 268 
20.3 win32api 268 
20.4 windows 自动化 269 
第21章 扩展ruby 275 
21.1 你的第一个扩展 275 
21.2 c中的ruby对象 278 
21.3 jukebox扩展 284 
21.4 内存分配 293 
21.5 ruby的类型系统 294 
21.6 创建一个扩展 296 
21.7 内嵌ruby解释器 301 
21.8 将ruby连接到其他语言 304 
21.9 ruby c语言api 305 
第3部分 ruby的核心 315 
第22章 ruby语言 317 
22.1 源代码编排 317 
22.2 基本类型 319 
22.3 名字 328 
22.4 变量和常量 330 
22.5 表达式 338 
22.6 方法定义 345 
22.7 调用方法 348 
22.8 别名 351 
22.9 类定义 352 
22.10 模块定义 354 
22.11 访问控制 356 
22.12 blocks，closures和proc对象 356 
22.13 异常 360 
22.14 catch 和 throw 362 
第23章 duck typing 365 
23.1 类不是类型 366 
23.2 像鸭子那样编码 370 
23.3 标准协议和强制转换 371 
23.4 该做的做，该说的说 377 
第24章 类与对象 379 
24.1 类和对象是如何交互的 379 
24.2 类和模块的定义 387 
24.3 顶层的执行环境 393 
24.4 继承与可见性 393 
24.5 冻结对象 394 
第25章 ruby安全 397 
25.1 安全级别 398 
25.2 受污染的对象 399 
第26章 反射,objectspace和分布式ruby 403 
26.1 看看对象 404 
26.2 考察类 405 
26.3 动态地调用方法 407 
26.4 系统钩子 410 
26.5 跟踪程序的执行 412 
26.6 列集和分布式ruby 414 
26.7 编译时？运行时？任何时 419 
第4部分 ruby库的参考 421 
第27章 内置的类和模块.. 423 
27.1 字母顺序列表 424 
array 427 
bignum 441 
binding 444 
class 445 
comparable 447 
continuation 448 
dir 449 
enumerable 454 
errno 460 
exception 461 
falseclass 464 
file 465 
file::stat 477 
filetest 483 
fixnum 484 
float 487 
gc 491 
hash 492 
integer 501 
io 503 
kernel 516 
marshal 535 
matchdata 537 
math 540 
method 543 
module 545 
nilclass 561 
numeric 562 
object 567 
objectspace 578 
proc 580 
process 583 
process::gid 589 
process::status 591 
process::sys 594 
process::uid 596 
range 597 
regexp 600 
signal 604 
string 606 
struct 626 
struct::tms 630 
symbol 631 
thread 633 
threadgroup 640 
time 642 
trueclass 650 
unboundmethod 651 
第28章 标准库 653 
abbrev 655 
base64 656 
benchmark 657 
bigdecimal 658 
cgi 659 
cgi::session 661 
complex 662 
csv 663 
curses 664 
date/datetime 665 
dbm 666 
delegator 667 
digest 668 
dl 669 
druby 670 
english 671 
enumerator 672 
erb 673 
etc 675 
expect 676 
fcntl 677 
fileutils 678 
find 679 
forwardable 680 
ftools 681 
gdbm 682 
generator 683 
getoptlong 684 
gserver 685 
iconv 686 
io/wait 687 
ipaddr 688 
jcode 689 
logger 690 
mail 691 
mathn 692 
matrix 694 
monitor 695 
mutex 696 
mutex_m 697 
net::ftp 698 
net::http 699 
net::imap 701 
net::pop 702 
net::smtp 703 
net::telnet 704 
nkf 705 
observable 706 
openuri 707 
open3 708 
openssl 709 
openstruct 710 
optionparser 711 
parsedate 713 
pathname 714 
pp 715 
prettyprint 716 
profile 717 
profiler__ 718 
pstore 719 
pty 720 
rational 721 
readbytes 722 
readline 723 
resolv 724 
rexml 725 
rinda 727 
rss 728 
scanf 729 
sdbm 730 
set 731 
shellwords 732 
singleton 733 
soap 734 
socket 735 
stringio 736 
stringscanner 737 
sync 738 
syslog 740 
tempfile 741 
test::unit 742 
thread 743 
threadswait 744 
time 745 
timeout 746 
tk 747 
tmpdir 748 
tracer 749 
tsort 750 
un 751 
uri 752 
weakref 753 
webrick 754 
win32api 755 
win32ole 756 
xmlrpc 757 
yaml 758 
zlib 759 
第5部分 附录 761 
附录a socket库 653 
附录b mkmf参考 779 
附录c 支持 783 
附录d 书目 787 
索引（index） 789