《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
Whateveryourprogramminglanguage,whateveryourplatform,youprobablytapintolinkerand...
《SoftwareDesign中文版03》的主题为:sed/AWK入门和Mac开发环境。特辑1详细讲解了sed与AWK的基础与使用方法、日志分析、ShellSc
《VMware Virtual SAN权威指南(原书第2版)》内容简介:本书共分10章。第1章概要介绍了软件定义的存储和VSAN,第2章从物理和虚拟的
《简洁的力量》内容简介:我们是否思考过这样一个问题:创新是要让我们的世界变得更加科技化还是人性化?如果说是为了科技化,那我
Learnhowtowriteidiomatic,effectivePythoncodebyleveragingitsbestfeatures.Pythonss...
Ubuntu Linux完全自学教程 本书特色 全程图片讲解轻松推进,100%可实践针对性实例,节省70%学习时间Ubuntu Linux完全自学教程 内容简介...
《法律硕士联考专业基础课经典案例分析》内容简介:本书是法律硕士联考案例分析题的专项训练,含基本案例和复杂案例两部分,各部分
《基础生物科学》是为大学本科学生编写的教材,适用于非生物专业公共课和包括农、林、医、生物科学与生物技术、生物工程等生物类
The"Web2.0"phenomenahasbecomemorepervasivethaneverbefore.Itisimpactingtheveryfab...
数据库技术教程(三级) 内容简介 本书根据教育部考试中心制订的《全国计算机等级考试 考试大纲(2004年版)》中的“三级(数据库技术)考试大纲”编写,内容包括:...
《好的PPT会说话》内容简介:本书分为7个章节,第1章节主要介绍关于演示目的、载体和演示文稿作用的思考,第2章明确了PPT需要理清思
作者写作本书的灵感以及作者能提供的大量翔实的信息都直接来源于作者在UMTS论坛担任主席内5年的经历。在它最为活跃的阶段,这个国
《多核计算与程序设计》主要介绍适应于多核(或多处理器)计算机系统的算法和程序,共分为五个部分进行讲解。第1部分介绍多核编程
Long-awaitedrevisiontoauniqueguidethatcoversbothcompilersandinterpretersRevised,...
《每一种优秀,都有一段静默时光》内容简介:“生活需要仪式感”系列畅销百万后,李思圆2020全新作品! 每一个优秀的人,都需要挺过
《双相情感障碍Ⅱ型》内容简介:当卡拉·多尔蒂被诊断为双相情感障碍Ⅱ型时,她的世界改变了。迷茫40年、艰难确认后,她终于能够走
冀云编著的《C++黑客编程揭秘与防范》旨在通过简单的语法知识及常用的系统函数编程,完成一些有特定功能的安全工具,让读者对系统
《东北文学通史(全二册)》内容简介:本书是吉林省社会科学基金重点委托项目研究成果。此书上溯先秦时期的上古神话与英雄史诗,下
《副业思维》内容简介:副业不只是业余时间的一份工作,更是人们追求自我、设计自己人生、实现人生梦想非常重要的一个渠道。掌握副
Thelatestinstalmentintherenowned"PamphletArchitectureseries"featuresthetechnolog...