《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
《东亚《诗经》学研究(精)》内容简介:本书为作者多年来有关《诗经》研究之部分成果,共收入十篇论文,内容涉及中、日、韩三地之
从日常生活中孕育出独到的设计风格,日本知名服装品牌minaperhonen设计总监皆川明,一直努力制作着无法以“流行”来概括形容的特
《贾伯斯傅》这本贾伯斯生前唯一授权的传记,完整记载他的一生。但这本书谈的不只是贾伯斯。人人都知道贾伯斯不遗余力捍卫隐私,
《3G的业务及管理》力图全面系统地分析3G业务,在介绍业务网络的整体架构和3G业务的特点后,重点对各种业务(包括3G特色业务)的技
《水彩星享绘》内容简介:让我们一起踏上去往水彩世界的冒险之旅吧!本书作者不仅在本书中用画笔描绘出生活的美好,还将自己多年的
本书讲述如何用Python框架Django构建出强大的Web解决方案,本书讲解了使用新的Django1.0版的各种主要特性所需要的技术、工具以及
《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助
《宗教与哲学的相遇》内容简介:本书从研究奥古斯丁和阿奎那的基督教哲学着手,着重探讨了基督教给哲学增加了什么新的东西。基督教
运用已有的成熟框架进行项目开发,不但能提高代码的稳定性和兼容性,更能大大缩短项目的开发时间。本书详细讲解3个著名的Ajax开发
《循环:大学学习那些事儿》内容简介:本书的内容,对于好生和差生都是适用的,对于前者,如果你尚未清楚自己为什么能够取得优异的
《荀玉根讲策略:少即是多》内容简介:海通证券首席经济学家兼首席策略分析师荀玉根博士拥有14年宏观策略研究经验,是新财富、水晶
Ifyouwanttobuildyoursitesfrontendwiththesingle-pageapplication(SPA)model,thishan...
《高频考点串讲与专用题库:经济法》内容简介:注册会计师全国统一考试科目多,内容涉及面广,题目难度较大。为了帮助考生在短时间
EdwinHutchinscombineshisbackgroundasananthropologistandanopenoceanracingsailoran...
《认识绘画:丰子恺绘画十六讲》内容简介:正如钱锺书先生在《围城》中所言,“教授成为名教授,有两个阶段:第一,讲义当著作;第
本书是一线程序员的经验荟萃,他们根据各自在软件工程各环节里的实践经历,现身说法,提出了自己的真知灼见,这些经验涵盖了用户
这本伊隆·马斯克(ElonMusk)的传记可能会改变你对人生的整个看法!当他第二次登上《每日秀》的舞台时,我就觉得应该要有一本高质
《钢琴套曲民谣四首》内容简介:本作品是作曲家刘敦南新近创作的钢琴作品,作品运用有调性的十二音创作技法,将中国民歌与当代技术
中文版AutoCAD机械设计经典技法118例-含光盘1张 本书特色 《中文版AutoCAD机械设计经典技法118例(附光盘)》编著者郭文亮、郭领艳。全书通过11...
《付出比能力更重要》内容简介:本书能力并非成功的决定因素,能力并不能作为一个人的优势,只是相对优势,只有肯付出的人,才能到