《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
《图灵程序设计丛书:征服C指针》被称为日本最有营养的C参考书。作者是日本著名的“毒舌程序员”,其言辞犀利,观点鲜明,往往能让
《软件项目成功之道》的作者JaredR.Richardson以精炼、风趣的语言揭开了项目管理过程的神秘面纱。所涵盖的内容涉及工具、使用项目
传染病动力学优化算法及其应用 本书特色 《传染病动力学优化算法及其应用》系统介绍了依据传染病动力学原理构造出来的一系列新型复杂场景群智能优化算法,即传染病动力学...
Java Script&Dynamic HTML 语法辞典 内容简介 本书实例主要在windows vista、internet explorer7.0、fir...
《精进:极简论语》内容简介:王蒙写给年轻人的中国智慧读本,凝聚数十年读书心得与人生经验,直达《论语》精华内核。在本书中,王
基于云计算的地学数据集成与应用 内容简介 为了解决地学领域多源、异构、分散、多维数据集成与应用问题,本著作系统深入地研究了采用云计算的SOA框架实现地学空间数据...
《2022出国留学蓝皮书》内容简介:本书在持续追踪行业动态、把握留学动向的基础上,对处于留学准备阶段与正在留学的群体进行了区分
《Flash游戏编程基础教程》是Flash游戏设计方面的入门级图书。全书共包括5个完整的游戏项目。作者RexvanderSpuy循序渐进地讲解了
服务器端JavaScript?没错。Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多
《中医就有这么牛:全国名老中医蓝青强验案集》内容简介:蓝青强先生系广西中医药大学主任医师、教授,博士研究生导师,桂派中医大
在线阅读本书Web2.0architectureopensupanincrediblenumberofoptionsforflexiblewebdesign,c...
《永不干涸的大道清源——中国故事:从丝绸之路到“一带一路”(第三辑)》内容简介:中国是世界上少数几个历史文明长河没有干涸的
《产后恢复专业培训教材》内容简介:女性在生产完毕之后,常常会因为身体过于虚弱而需要一定的恢复和保养,这种恢复和保养被称为产
《做东:酒局里的100个生存哲学》内容简介:酒局是阴谋四伏的人性的斗争舞台,是人最高生存智慧的展示场所。《做东》是第一本最全面
《非正常军师联盟》内容简介:古人很潮系列书籍。继《唐朝有嘻哈》《宋朝好声音》《魏晋有美男》《奇葩王者说》《古人教你学吐槽》
地理信息系统算法基础 内容简介 本书全面、系统地收集和整理了当前地理信息系统算法领域的相关资料,以地理信息系统设计与实现为线索,内容涉及地理空间数据的描述、检索...
《左宗棠(中华先贤人物故事汇)》内容简介:左宗棠(1812—1885),字季高,一字朴存,号湘上农人,湖南湘阴人。他一生参与镇压太
安全系统中的多模态生物特征识别与智能图像处理 本书特色 《安全系统中的多模态生物特征识别与智能图像处理》分为三部分来“安全系统中的论述多模态生物特征...
《向内求:认识自己的成长法则》内容简介:许多企业管理者、职业经理人在日常的管理工作中,除了要不断磨练自己的业务能力,还需要
《UMTS中的WCDMA-HSPA演进及LTE》(原书第4版)主要介绍了第三代移动通信系统中的WCDMA无线传输技术,重点是WCDMA的技术特点和演进