《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
《四季读诗》内容简介:呈现在您面前的这本《四季读诗》,是一册编排新颖、图文并茂的古诗词读本。从先秦时代的《诗经》,一直到近
复杂网络上的博弈 本书特色谢逢洁编写的《复杂网络上的博弈》从博弈论和复杂网络的基本概念及基础理论出发,介绍相关研究领域,重点讲解博弈论和复杂网络的交叉领域的基本...
大型强子对撞机(LHC)坐落于欧洲核子研究中心(CERN),在瑞士和法国交界处的乡村地下25.659千米长的环形隧道中。它的宏伟目标是
《构建跨平台app:jquerymobile移动应用实战》分为4篇,第一篇是移动开发入门篇,介绍了jquerymobile、html5和移动开发的一些基础
新编中文Flash 8实用教程-(第2版) 本书特色 《新编中文Flash8实用教程(第2版21世纪高等院校计算机基础教育规划教材)》由王环、李安宗编著,主要面...
《常春藤英语 四级·下》内容简介:“常春藤英语系列”选材以英国、美国、加拿大和澳大利亚等主流英语国家的经典语文素材为主,内容
《西方女装百年图鉴》内容简介:时尚从来就如同俄狄浦斯轮回一般。上世纪30年代的妖艳迷人到80年代的过度膨胀,从美好年代的紧身
《Android程序开发范例宝典》内容简介:本书紧密围绕开发人员在开发过程中遇到的实际问题和开发中应该掌握的技术,全面介绍了应用A
《中国关中—天水经济区发展报告(2013)》内容简介:《中国关中—天水经济区发展报告》系教育部重点支持的研究报告之一,由 陕西师
《超级学习(全4册)》内容简介:不断⾃我提升,需要⼀个有效的学习模型,包括知识、能力、路径等,本书提供了一系列⾏之有效的学习
《培训精炼:36招成就高效讲师》内容简介:本书为培训师提炼了36个课堂培训技巧,能迅速帮助培训师提升培训技能,打造高效课堂,实
《想清楚 说明白》内容简介:本书主题与每个普通职场人日常工作生活都密切相关,属于绝大多数职场白领想要提升的重要素质之一。对于
《笨拙的教养》内容简介:这是一场面向未来的教养之旅。作者以国际化视野、多元化视角深入体察、审视中西方教育观念及现状的不同。
C与.NET3.0高级程序设计(特别版) 本书特色 Amazon超级畅销书,C#圣经级著作,全面涵盖C#3.0和.NET 3.0平台,包括LINQ、WPF、WC...
《腾讯方法》内容简介:这是国内第一本深度讲述腾讯产品研发与团队转型的书。本书介绍了腾讯三个不同生命周期的产品的开发过程,包
《连锁经营管理实务》内容简介:本教材重构了“连锁经营与管理”课程体系,打破了章节界限,进行了课程整合,尤其注重理论知识与实
《索尼微单摄影宝典:相机设置+拍摄技法+场景实战+后期处理》内容简介:本书是专门为索尼微单用户编写的一本相机使用与实拍技法宝典
《全球化视野中的青年文化》内容简介:促进青年文化健康发展,对整体社会的发展具有重要意义。本书选择全球化视野下的青年文化作为
《数据库基础与应用》内容简介:本书以Access 2010中文版为平台,从实际操作和应用的角度出发,以培养职业能力为目标,通过具体的应
HTML5 APP开发从入门到精通-(基于HTML5+CSS3+jQuery Mobile+Bootstrap) 本书特色 《HTML5 APP 开发从入门到精...