《Ruby元编程(第2版)》在大量剖析实例代码的基础上循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby类库的实现细节,作者不仅向读者展示了元编程的优势及其解决问题的方式,更详细列出33种发挥其优势的编程技巧。本书堪称动态语言设计模式。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
Adetailedexaminationofinteriorroutingprotocols--completelyupdatedinanewedition*A...
《数据挖掘与数据化运营实战》内容简介:本书是目前有关数据挖掘在数据化运营实践领域比较全面和系统的著作,也是诸多数据挖掘书籍
《华尔街最受欢迎的投资课》内容简介:100多年来,华尔街诞生了数不清的投资大师,如沃伦?巴菲特、彼得?林奇、乔治?索罗斯、本杰明
《构图之本(风光摄影四部曲)》内容简介:任何风光摄影师要想拍好风光,都必须学习和谙熟构图知识。高觉著的《构图之本》从风光拍
《游戏设计梦工厂》是南加州大学互动媒体及游戏专业的系主任特雷西•弗雷顿教授的经典著作。作为一本将现代游戏工业与先进教学体系
《我也有过小时候》内容简介:在中国,任溶溶先生是一个无论大人还是孩子都喜欢的作者,他的许多作品包括译作滋养了几代人,任老先
《移动互联网:原理、技术与应用(第2版)》内容简介:本书是一本介绍移动互联网基本原理和目前研究进展的教材。第1章介绍了移动互
科技发展的速度越来越快了,快得让我们有点儿要跟不上的感觉,不知道你是否有同感?《搜酷——全球智能硬件与技术精华集(全彩)
《玄学与魏晋士人心态》内容简介:作者立足于大量史料的搜集和辨析,探讨魏晋时期士人普遍心态的发展变化,及其所蕴含的社会历史背
《当用户体验设计遇上敏捷》分为三个部分:第一部分介绍了什么是敏捷。即使读者对敏捷完全了解,仍旧值得读一读这部分内容;第二
《三维CAD/CAM》内容简介:结合机械类专业的实际,以够用为度,主要讲述设计模块和加工模块。第一部分为设计模块(即CAD模块),主
《风之又三郎》内容简介:一个大风天,学校里来了一个奇怪的转校生。班上的孩子们怀疑他是风神的孩子,对他百般试探捉弄,最终那孩
ArcGIS Engine开发从入门到精通 本书特色 本书是一本指导读者快速入门ArcGIS Engine并提高的书籍,着重介绍了ArcGIS Engine的基...
《跨终端Web》内容简介:移动互联网不可阻挡地进入了我们的生活。作者将自己在百度和天猫期间的跨终端Web的开发实践转化为书中的技
《卡通IP时代:品牌卡通形象设计揭秘(第3版·修订版)》内容简介:大IP时代就要来临了,那么到底什么是设计行业的大IP?本书就IP设
本书由两位在文案设计领域具有丰富经验的教师所著。它把修辞方法引入视觉设计中,为各类文案设计提供了有用的策略和工具。本书分
《疯狂XML讲义》主要以XML为核心,深入地介绍了XML的各种相关知识。《疯狂XML讲义》作为疯狂Java体系图书之一,依然保持该体系图
《第一本心理学漫画书:梦的解析》内容简介:《第一本心理学漫画书:梦的解析》系列漫画是根据弗洛伊德最主要的三部著作《梦的解析
本书通过实例制作的方式介绍了如何制作像素画。使用的软件以Photoshop为主,同时也介绍了一些专业软件。本书共分4章,第1章是像素
Evernoticethat-inspiteoftheirpervasiveness-designingwebapplicationsisstillchalle...