免费下载书籍地址:PDF下载地址
精美图片

Ruby原理剖析( 货号:756802262)书籍详细信息
- ISBN:9787568022620
- 作者:暂无作者
- 出版社:暂无出版社
- 出版时间:2016-10
- 页数:380
- 价格:78.80
- 纸张:胶版纸
- 装帧:平装-胶订
- 开本:16开
- 语言:未知
- 丛书:暂无丛书
- TAG:暂无
- 豆瓣评分:暂无豆瓣评分
内容简介:
基本信息
商品名称: Ruby原理剖析
出版社: 华中科技大学出版社
出版时间:2016-10-01
作者:帕特里克.肖内西
译者:
开本: 32开
定价: 78.80
页数:
印次: 1
ISBN号:9787568022620
商品类型:图书
版次: 1 内容提要
《Ruby原理剖析》解开Ruby编程语言的魔法面纱。全书图文并茂、深入浅出地剖析了Ruby编程语言的核心工作原理。作者本着科学实证的精神,设计了一系列实验,帮助读者轻松了解这门编程语言的工作奥秘,包括Ruby如何用虚拟机执行代码,Ruby的垃圾回收算法,以及类和模块在Ruby内部的关系等。
n
书籍目录:
目录
1 分词与语法解析 3
n
1.1 词条:构成Ruby语言的单词 5
n
1.2 语法解析:Ruby如何理解代码 13
n
1.2.1 理解LALR解析算法 14
n
1.2.2 真实的Ruby语法规则 21
n
1.3 总结 31
n
2 编译 33
n
2.1 Ruby 1.8没有编译器 34
n
2.2 Ruby 1.9和Ruby 2.0引入了编译器 35
n
2.3 Ruby如何编译简单脚本 37
n
2.4 编译块调用 41
n
2.5 本地表 49
n
2.5.1 编译可选参数 52
n
2.5.2 编译关键字参数 53
n
2.6 总结 57
n
3 Ruby如何执行代码 59
n
3.1 YARV内部栈和Ruby调用栈 60
n
3.1.1 逐句查看Ruby如何执行简单脚本 62
n
3.1.2 执行块调用 65
n
3.2 访问Ruby变量的两种方式 72
n
3.2.1 本地变量访问 72
n
3.2.2 方法参数被看成本地变量 75
n
3.2.3 动态变量访问 76
n
3.3 总结 86
n
4 控制结构与方法调度 89
n
4.1 Ruby如何执行if语句 90
n
4.2 作用域之间的跳转 93
n
4.2.1 捕获表 94
n
4.2.2 捕获表的其他用途 96
n
4.3 send指令:RubyZ复杂的控制结构 99
n
4.3.1 方法查找和方法调度 99
n
4.3.2 Ruby方法的11种类型 100
n
4.4 调用普通Ruby方法 102
n
4.4.1 为普通Ruby方法准备参数 103
n
4.5 调用内建的Ruby方法 104
n
4.5.1 调用attr_reader和attr_writer 105
n
4.5.2 方法调度优化attr_reader和attr_writer 106
n
4.6 总结 110
n
5 对象与类 113
n
5.1 Ruby对象内部 114
n
5.1.1 检验klass和ivptr 115
n
5.1.2 观察同一个类的两个实例 117
n
5.1.3 基本类型对象 118
n
5.1.4 简单立即值完全不需要结构体 119
n
5.1.5 基本类型对象有实例变量吗 120
n
5.1.6 基本类型对象的实例变量保存在哪里 122
n
5.2 RClass结构体内部有什么 125
n
5.2.1 继承 128
n
5.2.2 类实例变量vs类变量 129
n
5.2.3 存取类变量 131
n
5.2.4 常量 134
n
5.2.5 真实的RClass结构体 135
n
5.3 总结 140
n
6 方法查找和常量查找 143
n
6.1 Ruby如何实现模块 145
n
6.1.1 模块是类 145
n
6.1.2 将模块include到类中 147
n
6.2 Ruby的方法查找算法 148
n
6.2.1 方法查找示例 149
n
6.2.2 方法查找算法实践 151
n
6.2.3 Ruby中的多继承 152
n
6.2.4 全局方法缓存 153
n
6.2.5 内联方法缓存 154
n
6.2.6 清空Ruby的方法缓存 155
n
6.2.7 在同一个类中include两个模块 155
n
6.2.8 在模块中include模块 157
n
6.2.9 Module#prepend 示例 158
n
6.2.10 Ruby如何实现Module#prepend 161
n
6.2.11 在已被include的模块中增加方法 164
n
6.2.12 在已被include的模块中include其他模块 164
n
6.2.13 “被include的类”与原始模块共享方法表 166
n
6.3 常量查找 168
n
6.3.1 在超类中查找常量 169
n
6.3.2 Ruby如何在父J命名空间中查找常量 170
n
6.4 Ruby中的词法作用域 171
n
6.4.1 为新类或模块创建常量 172
n
6.4.2 在父命名空间中使用词法作用域查找常量 173
n
6.4.3 Ruby的常量查找算法 175
n
6.4.4 Ruby真实的常量查找算法 177
n
6.5 总结 178
n
7 散列表:Ruby内部的主力军 181
n
7.1 Ruby中的散列表 182
n
7.1.1 在散列表中保存值 183
n
7.1.2 从散列表中检索值 185
n
7.2 散列表如何扩展以容纳更多的值 188
n
7.2.1 散列冲突 188
n
7.2.2 重新散列条目 189
n
7.3 Ruby如何实现散列函数 195
n
7.3.1 Ruby 2.0中的散列优化 202
n
7.4 总结 203
n
8 Ruby如何借鉴Lisp几十年前的理念 207
n
8.1 块: Ruby中的闭包 208
n
8.1.1 Ruby如何调用块 210
n
8.1.2 借用1975年的理念 212
n
8.2 Lambda和Proc:把函数当做一等公民 219
n
8.2.1 栈内存vs堆内存 220
n
8.2.2 深入探索Ruby如何保存字符串的值 220
n
8.2.3 Ruby如何创建Lambda 223
n
8.2.4 Ruby如何调用Lambda 226
n
8.2.5 Proc对象 227
n
8.2.6 在同一个作用域中多次调用lambda 232
n
8.3 总结 234
n
9 元编程 237
n
9.1 定义方法的多种方式 239
n
9.1.1 Ruby的普通方法定义过程 239
n
9.1.2 使用对象前缀定义类方法 241
n
9.1.3 使用新的词法作用域定义类方法 242
n
9.1.4 使用单类定义方法 244
n
9.1.5 在单类的词法作用域中定义方法 245
n
9.1.6 创建Refinement 246
n
9.1.7 使用Refinement 248
n
9.1.8 顶J作用域中的self 250
n
9.1.9 类作用域中的self 251
n
9.1.10 元类作用域中的self 252
n
9.1.11 类方法中的self 253
n
9.2 元编程与闭包:eval、instance_eval和binding 255
n
9.2.1 能写代码的代码 255
n
9.2.2 使用binding参数调用eval 257
n
9.2.3 instance_eval示例 259
n
9.2.4 Ruby闭包的另一个重点 260
n
9.2.5 instance_eval改变接收者的self 262
n
9.2.6 instance_eval为新的词法作用域创建单类 262
n
9.2.7 使用define_method 266
n
9.2.8 充当闭包的方法 266
n
9.3 总结 268
n
10 JRuby:基于JVM的Ruby 271
n
10.1 使用MRI和JRuby运行程序 272
n
10.1.1 JRuby如何解析和编译代码 274
n
10.1.2 JRuby如何执行代码 276
n
10.1.3 用Java类实现Ruby类 278
n
10.1.4 使用-J-XX:+PrintCompilation选项 281
n
10.1.5 JIT是否提升了JRuby程序的性能 283
n
10.2 JRuby和MRI中的字符串 284
n
10.2.1 JRuby和MRI如何保存字符串数据 284
n
10.2.2 写时复制 286
n
10.2.3 创建唯一且非共享的字符串 288
n
10.2.4 可视化写时复制 290
n
10.2.5 修改共享字符串更慢 291
n
10.3 总结 293
n
11 Rubinius:用Ruby实现的Ruby 295
n
11.1 Rubinius内核和虚拟机 296
n
11.1.1 词法分析和解析 298
n
11.1.2 使用Ruby编译Ruby 299
n
11.1.3 Rubinius字节码指令 300
n
11.1.4 Ruby和C++一起工作 302
n
11.1.5 使用C++对象实现Ruby对象 303
n
11.1.6 Rubinius中的(栈)回溯 305
n
11.2 Rubinius和MRI中的数组 307
n
11.2.1 MRI中的数组 307
n
11.2.2 Rubinius中的数组 309
n
11.2.3 阅读Array#shift源码 311
n
11.2.4 修改Array#shift方法 312
n
11.3 总结 315
n
12 MRI、JRuby、Rubinius垃圾回收 317
n
12.1 垃圾回收器解决三个问题 319
n
12.2 MRI中的垃圾回收: 标记与清除 320
n
12.2.1 空闲列表 320
n
12.2.2 标记 321
n
12.2.3 MRI如何标记存活对象 323
n
12.2.4 清除 323
n
12.2.5 延迟清除 324
n
12.2.6 标记-清除的缺点 325
n
12.2.7 观察MRI执行延迟清除 327
n
12.2.8 观察MRI执行全回收 328
n
12.2.9 解读GC分析报告 329
n
12.3 JRuby和Rubinius中的垃圾回收 332
n
12.4 复制垃圾回收 333
n
12.4.1 碰撞分配 333
n
12.4.2 半空间算法 334
n
12.4.3 伊甸堆 336
n
12.5 分代垃圾回收 337
n
12.5.1 弱代假说 337
n
12.5.2 为新生代使用半空间算法 338
n
12.5.3 晋升对象 338
n
12.5.4 成熟代对象垃圾回收 339
n
12.6 并发垃圾回收 341
n
12.6.1 当对象图改变时进行标记 341
n
12.6.2 三色标记 343
n
12.6.3 JVM中的三种垃圾收集器 344
n
12.6.4 触发主收集 347
n
12.7 延伸阅读 348
n
12.8 总结 349
n
索引 351
n
作者介绍:
作者简介
Patrick Shaughnessy是著名的Ruby开发者,目前在麦肯锡管理咨询公司(McKinsey & Co.)从事开发工作。Patrick有20多年软件开发工作经验,精通C、Java、PHP、Ruby等多种编程语言。他是Ruby Conference Circuit的主持人,定期在Ruby Weekly电子报、Ruby5 Podcast和The Ruby Show上发表文章和演讲。他的博客地址: http://patshaughnessy.net
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
在线阅读地址:Ruby原理剖析( 货号:756802262)在线阅读
在线听书地址:Ruby原理剖析( 货号:756802262)在线收听
在线购买地址:Ruby原理剖析( 货号:756802262)在线购买
原文赏析:
实例变量的名字被保存在对象的类中,因为同一个类的所有实例变量的名字都是相同的
其它内容:
书籍介绍
《Ruby原理剖析》解开Ruby编程语言的魔法面纱。全书图文并茂、深入浅出地剖析了Ruby编程语言的核心工作原理。作者本着科学实证的精神,设计了一系列实验,帮助读者轻松了解这门编程语言的工作奥秘,包括Ruby如何用虚拟机执行代码,Ruby的垃圾回收算法,以及类和模块在Ruby内部的关系等。
书籍真实打分
故事情节:5分
人物塑造:7分
主题深度:8分
文字风格:8分
语言运用:7分
文笔流畅:8分
思想传递:6分
知识深度:8分
知识广度:6分
实用性:5分
章节划分:8分
结构布局:4分
新颖与独特:5分
情感共鸣:7分
引人入胜:9分
现实相关:6分
沉浸感:9分
事实准确性:4分
文化贡献:7分
网站评分
书籍多样性:5分
书籍信息完全性:5分
网站更新速度:4分
使用便利性:9分
书籍清晰度:3分
书籍格式兼容性:4分
是否包含广告:6分
加载速度:6分
安全性:3分
稳定性:8分
搜索功能:9分
下载便捷性:8分
下载点评
- 无漏页(657+)
- 差评少(642+)
- 内涵好书(427+)
- 推荐购买(447+)
- 收费(231+)
- 傻瓜式服务(109+)
- 好评多(118+)
- 简单(193+)
- 无广告(198+)
- 内容齐全(311+)
下载评价
网友 师***怀:好是好,要是能免费下就好了
网友 石***烟:还可以吧,毕竟也是要成本的,付费应该的,更何况下载速度还挺快的
网友 康***溪:强烈推荐!!!
网友 益***琴:好书都要花钱,如果要学习,建议买实体书;如果只是娱乐,看看这个网站,对你来说,是很好的选择。
网友 融***华:下载速度还可以
网友 丁***菱:好好好好好好好好好好好好好好好好好好好好好好好好好
网友 利***巧:差评。这个是收费的
网友 曾***文:五星好评哦
网友 居***南:请问,能在线转换格式吗?
网友 通***蕊:五颗星、五颗星,大赞还觉得不错!~~
网友 谭***然:如果不要钱就好了