书名:Ruby元编程(第2版)
作者:[意]PaoloPerrotta
译者:廖志刚
ISBN:9787568009799
出版社:华中科技大学出版社
出版时间:2015-8-1
格式:epub/mobi/azw3/pdf
页数:272
豆瓣评分: 9.2
书籍简介:
《Ruby元编程(第2版)》在大量剖析实例代码的基础上循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby类库的实现细节,作者不仅向读者展示了元编程的优势及其解决问题的方式,更详细列出33种发挥其优势的编程技巧。本书堪称动态语言设计模式。Ruby之父松本行弘作序推荐。
作者简介:
Paolo Perrotta 有超过15年的软件设计和开发经验,他开发过嵌入式软件、企业级软件、计算机游戏和web应用,还发表过上百篇技术文章。他在欧洲各国教授敏捷课程,过着游牧般的生活。
书友短评:
@ 黑松鼠の小森林 和programming ruby是绝配。看完本书,才发现ruby的运行时就是一个完整的操作系统,只不过管理的资源是变量、类、模块和模块。正是因为一切皆对象的设计原则,让ruby的语法异常的适合阅读;我猜测ruby解释器的核心也不难读懂,难读的应该是那些语法糖的实现。读完本书,我才能真正理解matz在《代码的未来》中的观点。但是,比较悲观的一点是:matz说的不久的未来CPU会成百上千个核心,这恐怕不会成为现实了;现在的趋势似乎是保住现有性能的情况下降低功耗。另外,我对ruby未来的展望:语法基本上不会有什么变化了,今后只是在核心库上做增强。ruby3应该会在实现性能飞跃(依赖于新的更强大的解释器)的时候被命名 @ a锟斤拷 作为一位JavaScript 开发者,在读这本书的过程中不断将Ruby 与JavaScript 作比较,书中所说的各种元编程技在JavaScript 几乎都可以使用——打开类、方法的动态调用和定义、类的动态定义、include 与extend 等JavaScript 可以玩得有过之而无不及;两门语言的共性真正体现了元编程实质是编程而已。不过Ruby 毕竟是Ruby,像method_missing 这种终极拦截器和隐式self 调用这些特性,JavaScript 是怎么弄也弄不出来。 @ Crisp 学到了,但一遍不够,还得实践才能掌握吧;这本书,能让你更新对Ruby甚至编程的世界观。 @ Floiges 好书,值得多读几遍 @ Tokododo? 只读完了第一部分,因为之前完全没有接触过相关内容,看完挺mind boggling的。不过感觉现在自己应用不上,就放弃读后续的rails了/等以后第二遍读的时候把第一部分的方法做个笔记吧。暂时不会在看了 @ stotle Ruby太灵活了,元编程在我眼里依然是黑魔法…… @ Rayman 书不厚,但干货很多,更难能可贵的是,这本书还容易读懂,五星推荐 @ 杨逸 ruby还是相当精巧的,书展示了在动态语言环境下各类技巧。不过因为熟悉lua、函数式编程也懂些,没有那种惊艳的感觉。ruby太动态了,对熟悉静态的语言的人来说实在难以驾驭与习惯。
第一部分 Ruby元编程 1
第1章 元这个字眼 3
1.1 鬼城与自由市场 3
1.2 程序员Bob的故事 4
1.3 元编程和Ruby 7
第2章 星期一:对象模型 11
2.1 打开类 11
2.2 类的真相 16
2.3 小测验:缺失的连接线 26
2.4 调用方法时发生了什么? 27
2.5 小测验:混乱的模块 39
2.6 对象模型小结 42
第3章 星期二:方法 45
3.1 代码繁复的问题 46
3.2 动态方法 48
3.3 method_missing方法 55
3.4 小测验:消灭Bug 64
3.5 白板类 66
3.6 小结 69
第4章 星期三:代码块 73
4.1 学习代码块 73
4.2 小测验:Ruby的#符号 75
4.3 代码块是闭包 77
4.4 instance_eval方法 84
4.5 可调用对象 88
4.6 编写领域专属语言(DSL) 96
4.7 小测验:改良的DSL 98
4.8 小结 102
第5章 星期四:类定义 105
5.1 揭秘类定义 106
5.2 小测验:Taboo类 112
5.3 单件方法 113
5.4 单件类 118
5.5 小测验:模块的麻烦 129
5.6 方法包装器 131
5.7 小测验:打破数学规律 136
5.8 小结 137
第6章 星期五:编写代码的代码 139
6.1 通向周末的编程之路 139
6.2 Kernel#eval方法 141
6.3 小测验:校验过的属性(第一步) 150
6.4 小测验:校验过的属性(第二步) 153
6.5 小测验:校验过的属性(第三步) 154
6.6 小测验:校验过的属性(第四步) 156
6.7 钩子方法 157
6.8 小测验:校验过的属性(第五步) 161
6.9 小结 162
第7章 尾声 163
第二部分 Rails中的元编程 165
第8章 准备Rails之旅 167
8.1 Ruby on Rails 167
8.2 安装Rails 168
8.3 Rails源代码 168
第9章 Active Record的设计 171
9.1 简短的Active Record示例 171
9.2 Active Record的组成 172
9.3 经验之谈 176
第10章 Active Support的Concern模块 179
10.1 Concern模块出现之前 179
10.2 ActiveSupport::Concern模块 183
10.3 经验之谈 188
第11章 alias_method_chain方法沉浮录 189
11.1 alias_method_chain方法的兴起 189
11.2 alias_method_chain方法的衰亡 193
11.3 经验之谈 196
第12章 属性方法的发展 199
12.1 属性方法实战 199
12.2 属性方法的发展史 200
12.3 经验之谈 210
第13章 最后的思考 213
元编程不过是编程 213
第三部分 附录 215
附录A 常见惯用法 217
A.1 拟态方法 217
A.2 空指针保护 219
A.3 Self Yield 222
A.4 Symbol#to_proc方法 224
附录B 领域专属语言 227
B.1 关于领域专属语言 227
B.2 内部和外部领域专属语言 229
B.3 领域专属语言和元编程 230
附录C 法术手册 231
索引 243
· · · · · ·
添加微信公众号:好书天下获取
评论前必须登录!
注册