第1版序. xv
第2版序 xvii
前言 xiv
路线图 xxxv
第1部分 Ruby面面观 1
第1章 入门 3
1.1 安装Ruby 3
1.2 运行Ruby 5
1.3 Ruby文档:RDoc和ri
第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章 异常,45捕获和抛出 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与其环境 1
第14章 Ruby和Ruby世界 177
14.1 命令行参数 1
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
330518.5 SOAP及Web Services 249
330618.6 更多信息 253
3307第19章 Ruby Tk 255
330819.1 简单的Tk应用程序 255
330919.2 部件 256
331019.3 绑定事件 260
331119.4 画布 261
331219.5 滚动 263
331319.6 从Perl/Tk文档转译 265
3314第20章 Ruby和微软Windows系统 267
331520.1 得到Ruby for Windows 267
331620.2 在Windows下运行Ruby 268
331720.3 Win32API 268
331820.4 Windows 自动化 269
3319第21章 扩展Ruby 275
332021.1 你的第一个扩展 275
332121.2 C中的Ruby对象 278
3 1.3 Jukebox扩展 284
332321.4 内存分配 293
332421.5 Ruby的类型系统 294
332521.6 创建一个扩展 296
332621.7 内嵌Ruby解释器 301
332721.8 将Ruby连接到其他语言 304
332821.9 Ruby C语言API 305
3329第3部分 Ruby的核心 315
3330第22章 Ruby语言 317
333122.1 源代码编排 317
333222.2 基本类型 319
333322.3 名字 328
333422.4 变量和常量 330
333522.5 表达式 338
333622.6 方法定义 345
333722.7 调用方法 348
333822.8 别名 351
333922.9 类定义 352
334022.10 模块定义 354
334122.11 访问控制 356
334222.12 Blocks,141Closures和Pro 对象 356
334322.13 异常 360
334422.14 Catch 和 Throw 362
3345第23章 Duck Typing 365
334623.1 类不是类型 366
334723.2 像鸭子那样编码 370
334823.3 标准协议和强制转换 371
334923.4 该做的做,148该说的说 377
3350第24章 类与对象 379
335124.1 类和对象是如何交互的 379
335224.2 类和模块的定义 387
335324.3 顶层的执行环境 393
335424.4 继承与可见性 393
335524.5 冻结对象 394
3356第25章 Ruby安全 397
335725.1 安全级别 398
335825.2 受污染的对象 399
3359第26章 反射,ObjectSpace和分布式Ruby 403
336026.1 看看对象 404
336126.2 考察类 405
336226.3 动态地调用方法 407
336326.4 系统钩子 410
336426.5 跟踪程序的执行 412
336526.6 列集和分布式Ruby 414
336626.7 编译时?运行时?任何时 419
3367第4部分 Ruby库的参考 421
3368第27章 内置的类和模块.. 423
336927.1 字母顺序列表 424
3370Array 427
3371Bignum 441
3372Binding 444
3373Class 445
3374Comparable 447
3375Continuation 448
3376Dir 449
3377Enumerable 454
3378Errno 460
3379Exception 461
3380FalseClass 464
3381File 465
3382File::Stat 477
3383FileTest 483
3384Fixnum 484
3385Float 487
3386GC 491
3387Hash 492
3388Integer 501
3389IO 503
3390Kernel 516
3391Marshal 535
3392MatchData 537
3393Math 540
3394Method 543
3395Module 545
3396NilClass 561
3397Numeric 562
3398Object 567
3399ObjectSpace 578
3300Proc 580
3301Process 583
3302Process::GID 589
3303Process::Status 591
3304Process::Sys 594
3305Process::UID 596
3306Range 597
3307Regexp 600
3308Signal 604
3309String 606
3310Struct 626
3311Struct::Tms 630
3312Symbol 631
3313Thread 633
3314ThreadGroup 640
3315Time 642
3316TrueClass 650
3317UnboundMethod 651
3318第28章 标准库 653
3319Abbrev 655
3320Base64 656
3321Benchmark 657
3322BigDecimal 658
3323CGI 659
3324CGI::Session 661
3325Complex 662
3326CSV 663
3327Curses 664
3328Date/DateTime 665
3329DBM 666
3330Delegator 667
3331Digest 668
3332DL 669
3333dRuby 670
3334English 671
3335Enumerator 672
3336erb 673
3337Etc 675
3338expect 676
3339Fcntl 677
3340FileUtils 678
3341Find 679
3342Forwardable 680
3343ftools 681
3344GDBM 682
3345Generator 683
3346GetoptLong 684
3347GServer 685
3348Iconv 686
3349IO/Wait 687
3350IPAddr 688
3351jcode 689
3352Logger 690
3353Mail 691
3354mathn 692
3355Matrix 694
3356Monitor 695
3357Mutex 696
3358Mutex_m 697
3359Net::FTP 698
3360Net::HTTP 699
3361Net::IMAP 701
3362Net::POP 702
3363Net::SMTP 703
3364Net::Telnet 704
3365NKF 705
3366Observable 706
3367openuri 707
3368Open3 708
3369OpenSSL 709
3370OpenStruct 710
3371OptionParser 711
3372ParseDate 713
3373Pathname 714
3374PP 715
3375PrettyPrint 716
3376Profile 717
3377Profiler__ 718
3378PStore 719
3379PTY 720
3380Rational 721
3381readbytes 722
3382Readline 723
3383Resolv 724
3384REXML 725
3385Rinda 727
3386RSS 728
3387Scanf 729
3388SDBM 730
3389Set 731
3390Shellwords 732
3391Singleton 733
3392SOAP 734
3393Socket 735
3394StringIO 736
3395StringScanner 737
3396Sync 738
3397Syslog 740
3398Tempfile 741
3399Test::Unit 742
3300thread 743
3301ThreadsWait 744
3302Time 745
3303Timeout 746
3304Tk 747
3305tmpdir 748
3306Tracer 749
3307TSort 750
3308un 751
3309URI 752
3310WeakRef 753
3311WEBrick 754
3312Win32API 755
3313WIN32OLE 756
3314XMLRPC 757
3315YAML 758
3316Zlib 759
3317第5部分 附录 761
3318附录A Socket库 653
3319附录B MKMF参考 779
3320附录C 支持 783
3321附录D 书目 787
3322索引(Index) 789