《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
BeginningPHPandMySQL5:FromNovicetoProfessional,SecondEditionofferscomprehensivei...
《乡村振兴与非遗保护:文化遗产传承人的日常实践研究》内容简介:本书通过民俗学、人类学的田野调查和理论分析,以“皮影戏传承人
《职业院校专业群课程体系构建研究》内容简介:本书由三部分组成。第一部分是导论,介绍了职业院校专业群建设以及专业群课程体系框
《2020—2021年中国互联网产业发展蓝皮书》内容简介:本书从推动互联网与实体经济深度融合和全面展现中国互联网发展的生动实践的角
《500强企业成本核算实务》内容简介:本书基于作者在炼钢、造船、房地产等企业任职近20年跨行业、跨职业的“多元化”经验,充分、深
《庆典舞曲》内容简介:《武汉音乐学院“音乐创作·湖北省协同创新中心”作曲家作品系列·庆典舞曲:钢琴与乐队》作品试图以快速旋
MATLAB数值计算-(2013修订版.中译本) 本书特色 本书《matlab数值计算(2013修订版)》经matlab、数值分析和科学计算之父clevemol...
《C++新经典》内容简介:本书是一部C/C++编程语言书,定位在C/C++语言本身的讲解上面。本书包含纸质图书以及教学源代码文件。本书共
高光谱遥感影像分类与支持向量机应用研究 本书特色 杜培军、谭琨、夏俊士编著的《高光谱遥感影像分类与支持向量机应用研究》从高光谱遥感影像的特点出发,针对高光谱遥感...
《疯狂Java讲义》2000年至今,Java语言一直是应用最广的开发语言,并拥有最广泛的开发人群。如今,Java已经不再简单地是一门语言
二级Visual Basic-全国计算机等级考试无纸化专用题库-(2013年9月考试专用)-(1CD) 本书特色 《虎奔教育·全国计算机等级考试无纸化专用题库:...
《破绽:风口上的独角兽》内容简介:互联网时代是一个英雄不问出处的草莽时代。这个时代造就了一大批独角兽公司和新兴业态,它们出
Allrelevantcomponentsofamobileradiosystem,fromdigitalmodulationtechniquesovercha...
AutoCAD 建筑与室内设计实例精讲与上机实训教材 本书特色 本书由国内一线autocad 2014教育与培训专家编著,内容完全遵循autocad 2014教...
《汉水的身世》内容简介:一条古老河流的身世变迁与一个国家的命运血脉相连。罗新、梁鸿、李睿珺 联袂推荐;《人民文学》《收获》重
Afreshapproachtosucceedingwithinnovation,groundedininsightsaboutrapidlychangingc...
《中国移动通信营销案例精选》重点关注中国移动通信的市场战略和市场运作模式。从“沟通从心开始”到“动感地带”客户品牌推出,
本书为专业和非专业用户、程序员、数据处理方面的专业人士和希望理解sQL在今天计算机产业中的影响的经理们提供了关于SQL语言的全
《实战移动互联网营销》内容简介:移动互联网的兴起,又为企业带来了新的挑战与机遇!越来越多的人,看到了移动互联网的价值与前景
《语文课超有趣:部编本语文教材同步学(六年级·上册)》内容简介:《语文课超有趣(6年级上部编本语文教材同步学)》与新版语文教