SlideShare ist ein Scribd-Unternehmen logo
1 von 878
Downloaden Sie, um offline zu lesen
作 者: [美]DAVE THOMAS  CHAD FOWLER  ANDY HUNT
著  孙勇  姚延栋  张海峰译
形态项: 830
出版项: 电子工业出版社 , 2007
ISBN号: 7-121-03815-3 / TP312
原书定价: 99.00
主题词: 计算机网络 程序设计
参考文献格式: [美]DAVE THOMAS  CHAD FOWLER  ANDY H
UNT著  孙勇  姚延栋  张海峰译.PROGRAMMING RUBY中文版  (第
二版).电子工业出版社,2007.
读秀号: 000004890574
读秀d值: 6595424F8EFC139F5316B455BD9E76C0
SS号: 11824644
封面
书名
版权
第1版序
第2版序
前言
路线图
目录
第1 部分 Ruby面面观
第1章 入门
    1.1 安装Ruby
    1.2 运行Ruby
    1.3 Ruby文档:RDoc和ri
第2章 Ruby.new
    2.1 Ruby是一门面向对象语言
    2.2 Ruby的一些基本知识
    2.3 数组和散列表
    2.4 控制结构
    2.5 正则表达式
    2.6 Block和迭代器
    2.7 读/写文件
    2.8 更高更远
第3章 类、对象和变量
    3.1 继承和消息
    3.2 对象和属性
    3.3 类变量和类方法
    3.4 访问控制
    3.5 变量
第4章 容器、Blocks和迭代器
    4.1 容器
    4.2 Blocks和迭代器
    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.5 Case表达式
    7.6 循环
    7.7 变量作用域、循环和Blocks
第8章 异常,捕获和抛出
    8.1 异常类
    8.2 处理异常
    8.3 引发异常
    8.4 捕获和抛出
第9章 模块
    9.1 命名空间
    9.2 Mixin
    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.1 Test::Unit框架
    12.2 组织测试
    12.3 组织和运行测试
第13章 当遇到麻烦时
    13.1 Ruby调试器
    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.1 命令行
    15.2 配置
    15.3 命令
    15.4 限制
    15.5 rtags与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.1 编写CGI脚本
    18.2 Cookies
    18.3 提升性能
    18.4 Web服务器的选择
    18.5 SOAP及Web Services
    18.6 更多信息
第19章 Ruby Tk
    19.1 简单的Tk应用程序
    19.2 部件
    19.3 绑定事件
    19.4 画布
    19.5 滚动
    19.6 从Perl/Tk文档转译
第20章 Ruby和微软Windows系统
    20.1 得到Ruby for Windows
    20.2 在Windows下运行Ruby
    20.3 Win32API
    20.4 Windows自动化
第21章 扩展Ruby
    21.1 你的第一个扩展
    21.2 C中的Ruby对象
    21.3 Jukebox扩展
    21.4 内存分配
    21.5 Ruby的类型系统
    21.6 创建一个扩展
    21.7 内嵌Ruby解释器
    21.8 将Ruby连接到其他语言
    21.9 Ruby C语言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.12 Blocks,Closures和Proc对象
    22.13 异常
    22.14 Catch和Throw
第23章 Duck Typing
    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章 内置的类和模块
    27.1 字母顺序列表
    Array
    Bignum
    Binding
    Class
    Comparable
    Continuation
    Dir
    Enumerable
    Errno
    Exception
    FalseClass
    File
    File::Stat
    FileTest
    Fixnum
    Float
    GC
    Hash
    Integer
    IO
    Kernel
    Marshal
    MatchData
    Math
    Method
    Module
    NilClass
    Numeric
    Object
    ObjectSpace
    Proc
    Process
    Process::GID
    Process::Status
    Process::Sys
    Process::UID
    Range
    Regexp
    Signal
    String
    Struct
    Struct::TMS
    Symbol
    Thread
    ThreadGroup
    Time
    TrueClass
    UnboundMethod
第28章 标准库
    Abbrev
    Base64
    Benchmark
    BigDecimal
    CGI
    CGI::Session
    Complex
    CSV
    Curses
    Date/DateTime
    DBM
    Delegator
    Digest
    DL
    dRuby
    English
    Enumerator
    erb
    Etc
    expect
    Fcntl
    FileUtils
    Find
    Forwardable
    ftools
    GDBM
    Generator
    GetoptLong
    GServer
    Iconv
    IO/Wait
    IPAddr
    jcode
    Logger
    Mail
    mathn
    Matrix
    Monitor
    Mutex
    Mutex_m
    Net::FTP
    Net::HTTP
    Net::IMAP
    Net::POP
    Net::SMTP
    Net::Telnet
    NKF
    Observable
    open-uri
    Open3
    OpenSSL
    OpenStruct
    OptionParser
    ParseDate
    Pathname
    PP
    PrettyPrint
    Profile
    Profiler__
    PStore
    PTY
    Rational
    readbytes
    Readline
    Resolv
    REXML
    Rinda
    RSS
    Scanf
    SDBM
    Set
    Shellwords
    Singleton
    SOAP
    Socket
    StringIO
    StringScanner
    Sync
    Syslog
    Tempfile
    Test::Unit
    thread
    ThreadsWait
    Time
    Timeout
    Tk
    tmpdir
    Tracer
    TSort
    un
    URI
    WeakRef
    WEBrick
    Win32 API
    WIN32 OLE
    XMLRPC
    YAML
    Zlib
第5 部分 附录
    附录A Socket库
    附录B MKMF参考
    附录C 支持
    附录D 书目
    索引(Index)
表目录
    表2.1 变量和类名称样例
    表5.1 字符类缩写
    表7.1 常用的比较操作符
    表11.1 在一个竞态条件中的两个线程
    表13.1 调试器命令
    表14.1 Ruby使用的环境变量
    表15.1 irb命令行选项
    表17.1 版本操作符
    表18.1 erb的命令行选项
    表21.1 C/Ruby数据类型转换函数和宏
    表22.1 常规分隔输入
    表22.2 双引号字符串中允许的替换
    表22.3 保留字
    表22.4 Ruby操作符(优先级从高到低)
    表25.1 安全级别的定义
    表27.1 Array#pack的模板字符
    表27.2 匹配模式常量
    表27.3 路径分隔符常量(和平台相关)
    表27.4 open模式常量
    表27.5 锁模式常量
    表27.6 模式字符串
    表27.7 sprintf标志字符
    表27.8 sprintf域类型
    表27.9 参数只有一个的文件测试
    表27.10 参数有两个的文件测试
    表27.11 定义在Numeric类以及其子类中的方法。打勾意味着这个方法定义
在相应的类中
    表27.12 模(modulo)和余数(remainder)之间的区别。模运算
符(“%”)总是有除数(divisor)的符号,然而remainder有被除数(div
idend)的符号
    表27.13 替换字符串中的反斜线序列
    表27.14 String#unpack指令
    表27.15 Time#strftime指令
    表28.1 ERB的指令
    表28.2 选项定义参数
图目录
    图3.1 变量保存对象引用
    图4.1 如何对数组进行索引操作
    图8.1 Ruby异常层次结构
    图12.1 产生罗马数字(有bug)
    图13.1 irb会话的示范
    图13.2 使用benchmark比较变量访问代价
    图16.1 浏览类Counter的RDoc输出
    图16.2 浏览带注释的源代码的RDoc输出
    图16.3 使用ri来读取文档
    图16.4 由Rdoc/ri生成的Proc类的文档
    图16.5 用RDoc文档化的Ruby源文件
    图16.6 用RDoc文档化的C源文件
    图16.7 使用RDoc::usage的范例程序
    图16.8 由范例程序产生的帮助信息
    图17.1 MomLog包结构
    图18.1 简单的CGI表单
    图18.2 使用erb处理带有循环的文件
    图19.1 在Tk的Canvas(画布)上绘制
    图21.1 将C数据类型包装为对象
    图21.2 构建扩展的过程
    图22.1 boolean区间(range)的状态变迁
    图24.1 一个基本对象,以及它的类和超类
    图24.2 添加Guitar的metaclass
    图24.3 向对象中添加一个虚拟类
    图24.4 被包含的模块以及它的代理类
    图27.1 标准异常等级结构
    图27.2 实际运行Method#arity

Weitere ähnliche Inhalte

Mehr von yiditushe

Spring入门纲要
Spring入门纲要Spring入门纲要
Spring入门纲要
yiditushe
 
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
yiditushe
 
性能测试实践2
性能测试实践2性能测试实践2
性能测试实践2
yiditushe
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
yiditushe
 
性能测试技术
性能测试技术性能测试技术
性能测试技术
yiditushe
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术
yiditushe
 
J2 ee性能测试
J2 ee性能测试J2 ee性能测试
J2 ee性能测试
yiditushe
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
yiditushe
 
Flex3中文教程
Flex3中文教程Flex3中文教程
Flex3中文教程
yiditushe
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
yiditushe
 
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
yiditushe
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
yiditushe
 
Lucene2 4学习笔记1
Lucene2 4学习笔记1Lucene2 4学习笔记1
Lucene2 4学习笔记1
yiditushe
 
Lucene2 4 Demo
Lucene2 4 DemoLucene2 4 Demo
Lucene2 4 Demo
yiditushe
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
 
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
yiditushe
 
7 面向对象设计原则
7 面向对象设计原则7 面向对象设计原则
7 面向对象设计原则
yiditushe
 
10 团队开发
10  团队开发10  团队开发
10 团队开发
yiditushe
 
9 对象持久化与数据建模
9  对象持久化与数据建模9  对象持久化与数据建模
9 对象持久化与数据建模
yiditushe
 
8 Uml构架建模
8  Uml构架建模8  Uml构架建模
8 Uml构架建模
yiditushe
 

Mehr von yiditushe (20)

Spring入门纲要
Spring入门纲要Spring入门纲要
Spring入门纲要
 
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
 
性能测试实践2
性能测试实践2性能测试实践2
性能测试实践2
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
 
性能测试技术
性能测试技术性能测试技术
性能测试技术
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术
 
J2 ee性能测试
J2 ee性能测试J2 ee性能测试
J2 ee性能测试
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
 
Flex3中文教程
Flex3中文教程Flex3中文教程
Flex3中文教程
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
 
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
 
Lucene2 4学习笔记1
Lucene2 4学习笔记1Lucene2 4学习笔记1
Lucene2 4学习笔记1
 
Lucene2 4 Demo
Lucene2 4 DemoLucene2 4 Demo
Lucene2 4 Demo
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
 
7 面向对象设计原则
7 面向对象设计原则7 面向对象设计原则
7 面向对象设计原则
 
10 团队开发
10  团队开发10  团队开发
10 团队开发
 
9 对象持久化与数据建模
9  对象持久化与数据建模9  对象持久化与数据建模
9 对象持久化与数据建模
 
8 Uml构架建模
8  Uml构架建模8  Uml构架建模
8 Uml构架建模
 

Programming Ruby中文版 (第二版)