内容简介
Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。ProgrammingRuby是关于Ruby语言的一本权威著作,也被称为PickAxeBook(镐头书,由封面上的工具得名)。本书是它的第2版,其中包括超过200页的新内容,以及对原有内容的修订,涵盖了Ruby1.8中新的和改进的特性以及标准库模块。它不仅是您学习Ruby语言及其丰富特性的一本优秀教程,也可以作为日常编程时类和模块的参考手册。
本书适合各种程度的Ruby程序员,无论新手还是老兵,都会从中得到巨大的帮助。
目录
- 第1版序
- 第2版序
- 前言
- 路线图
- 第1部分Ruby面面观
- 第1章入门
- 1.1安装Ruby
- 1.2运行Ruby
- 1.3Ruby文档:RDoc和ri
- 第2章Ruby.new
- 2.1Ruby是一门面向对象语言
- 2.2Ruby的一些基本知识
- 2.3数组和散列表
- 2.4控制结构
- 2.5正则表达式
- 2.6Block和迭代器
- 2.7读/写文件
- 2.8更高更远
- 第3章类、对象和变量
- 3.1继承和消息
- 3.2对象和属性
- 3.3类变量和类方法
- 3.4访问控制
- 3.5变量
- 第4章容器、Blocks和迭代器
- 4.1容器
- 4.2Blocks和迭代器
- 4.3处处皆是容器
- 第5章标准类型
- 5.1数字
- 5.2字符串
- 5.3区间
- 5.4正则表达式
- 第6章关于方法的更多细节
- 6.1定义一个方法
- 6.2调用方法
- 第7章表达式
- 7.1运算符表达式
- 7.2表达式之杂项
- 7.3赋值
- 7.4条件执行
- 7.5Case表达式
- 7.6循环
- 7.7变量作用域、循环和Blocks
- 第8章异常,捕获和抛出
- 8.1异常类
- 8.2处理异常
- 8.3引发异常
- 8.4捕获和抛出
- 第9章模块
- 9.1命名空间
- 9.2Mixin
- 9.3迭代器与可枚举模块
- 9.4组合模块
- 9.5包含其他文件
- 第10章基本输入和输出
- 10.1什么是IO对象
- 10.2文件打开和关闭
- 10.3文件读写
- 10.4谈谈网络
- 第11章线程和进程
- 11.1多线程
- 11.2控制线程调度器
- 11.3互斥
- 11.4运行多个进程
- 第12章单元测试
- 12.1Test::Unit框架
- 12.2组织测试
- 12.3组织和运行测试
- 第13章当遇到麻烦时
- 13.1Ruby调试器
- 13.2交互式Ruby
- 13.3编辑器支持
- 13.4但是它不运作
- 13.5然而它太慢了
- 第2部分Ruby与其环境
- 第14章Ruby和Ruby世界
- 14.1命令行参数
- 14.2程序终止
- 14.3环境变量
- 14.4从何处查找它的模块
- 14.5编译环境
- 第15章交互式RubyShell
- 15.1命令行
- 15.2配置
- 15.3命令
- 15.4限制
- 15.5rtags与xmp
- 第16章文档化Ruby
- 16.1向Ruby代码中添加RDoc
- 16.2向C扩展中添加RDoc
- 16.3运行RDoc
- 16.4显示程序用法信息
- 第17章用RubyGems进行包的管理
- 17.1安装RubyGems
- 17.2安装程序Gems
- 17.3安装和使用Gem库
- 17.4创建自己的Gems
- 第18章Ruby与Web
- 18.1编写CGI脚本
- 18.2Cookies
- 18.3提升性能
- 18.4Web服务器的选择
- 18.5SOAP及WebServices
- 18.6更多信息
- 第19章RubyTk
- 19.1简单的Tk应用程序
- 19.2部件
- 19.3绑定事件
- 19.4画布
- 19.5滚动
- 19.6从Perl/Tk文档转译
- 第20章Ruby和微软Windows系统
- 20.1得到RubyforWindows
- 20.2在Windows下运行Ruby
- 20.3Win32API
- 20.4Windows自动化
- 第21章扩展Ruby
- 21.1你的第一个扩展
- 21.2C中的Ruby对象
- 21.3Jukebox扩展
- 21.4内存分配
- 21.5Ruby的类型系统
- 21.6创建一个扩展
- 21.7内嵌Ruby解释器
- 21.8将Ruby连接到其他语言
- 21.9RubyC语言API
- 第3部分Ruby的核心
- 第22章Ruby语言
- 22.1源代码编排
- 22.2基本类型
- 22.3名字
- 22.4变量和常量
- 22.5表达式
- 22.6方法定义
- 22.7调用方法
- 22.8别名
- 22.9类定义
- 22.10模块定义
- 22.11访问控制
- 22.12Blocks,Closures和Proc对象
- 22.13异常
- 22.14Catch和Throw
- 第23章DuckTyping
- 23.1类不是类型
- 23.2像鸭子那样编码
- 23.3标准协议和强制转换
- 23.4该做的做,该说的说
- 第24章类与对象
- 24.1类和对象是如何交互的
- 24.2类和模块的定义
- 24.3顶层的执行环境
- 24.4继承与可见性
- 24.5冻结对象
- 第25章Ruby安全
- 25.1安全级别
- 25.2受污染的对象
- 第26章反射,ObjectSpace和分布式Ruby
- 26.1看看对象
- 26.2考察类
- 26.3动态地调用方法
- 26.4系统钩子
- 26.5跟踪程序的执行
- 26.6列集和分布式Ruby
- 26.7编译时?运行时?任何时
- 第4部分Ruby库的参考
- 第27章内置的类和模块
- 第28章标准库
- 第5部分附录
- 附录ASocket库
- 附录BMKMF参考
- 附录C支持
- 附录D书目
- 索引(Index)