Programming Ruby中文版:第2版

Programming Ruby中文版:第2版
作 者: 托马斯;弗沃尔;亨特 孙勇;姚延栋;张海峰
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 高级程序语言设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Dave Thomas是Ruby社区的一根顶梁柱,而且亲自负责Ruby许多创新性方向的探讨和开创工作。他和原来的合著有Andy Hunt是Pragmatic Programmer以及Pragmatic Bookshelf的创始人。Chad Fowler是Ruby Central,Inc.的共同事董事,并且始终是Ruby社区中活跃且起推进作用的力量。您可以在www.pragmaticprogrammer.com上联系这些作者。

内容简介

Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。Programming Ruby是关于Ruby语言的一本权威著作,也被称为PickAxe Book(镐头书,由封面上的工具得名)。本书是它的第2版,其中包括超过200页的新内容,以及对原有内容的修订,涵盖了Ruby 1.8中新的和改进的特性以及标准库模块。它不仅是您学习Ruby语言及其丰富特性的一本优秀教程,也可以作为日常编程时类和模块的参考手册。.本书适合各种程度的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

第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