《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
在這個魔法實驗室裡,研究人員像是魔法師般創造驚奇:讓斷腿的人可以跑步登山;讓自閉症患者能夠解讀他人臉部表情;讓汽車在城市
本书在全面概述电子商务模式与应用、网络平台建设、电子商务的案例与支付、物流、网络营销与CRM、管理和法律环境的理论基础上,覆
程序员你伤不起 本书特色 你要有过硬的技术,让客户相信你,觉得这个事情你是专家,让你来做没错,你要时刻让自己的技术超出平常人的水平。我曾经也泄气过,但是我经常能...
《设计,无处不在》从早餐时喝粥用的汤勺到救人性命的医疗设备,设计无处不在。设计不仅涵盖了风格和品味,还融入了文化与个性的影
《数据产品经理宝典》内容简介:“数据”两个字越来越频繁地出现在大家的工作中。一方面,“用数据说话”成为每个互联网从业者必备
《无师自通8:铅笔素描头像超精解析(修订版)》内容简介:素描是一切造型艺术的基础,有着独特的表现魅力,学习素描是通往艺术殿堂
《物流信息系统(第2版)》内容简介:随着先进信息技术的发展,现代物流系统开始进入无人化、智能化和智慧化时代。本书定位于这种发
SwiftisanewprogramminglanguageforcreatingiOSandOSXapps.SwiftbuildsonthebestofCan...
《我是90后,我是创业家》内容简介:第1本揭秘17个90后精彩创业故事。他们是:脸萌创始人郭列、北大硕士卖米粉的张天一、微博《我只
本书将介绍服务器端脚本所提供的各种可能的操作方案,帮助读者掌握设计数据库集成程序和高端应用程序的知识。目录 第1章Flash的
人工智能及其在决策系统中的应用 内容简介 本书介绍了人工智能的概况,讨论了在决策支持系统中普遍应用的人工智能知识表示方法和搜索推理技术,并研究了计算智能和Age...
《德米安:埃米尔·辛克莱年少时的故事》内容简介:《德米安》是德国作家赫尔曼·黑塞于1919年创作的中篇小说。读者将伴随少年埃米
《细菌为什么看不见》内容简介:细菌是地球上最古老的生物,是大自然物质循环的主要参与者。它们无法用肉眼观察到,却无时无刻不在
《向内求:认识自己的成长法则》内容简介:许多企业管理者、职业经理人在日常的管理工作中,除了要不断磨练自己的业务能力,还需要
《裂变增长秘籍》内容简介:本书基于微信大生态,围绕裂变获客、留存促活、销售变现、客户管理四大模块展开讲述,旨在帮助更多互联
《C++程序设计(第2版)》内容简介:本书是为已有C语言程序设计基础、想进一步学习C++面向对象程序设计的读者编写的。书中用通俗易
智能图像检索关键技术研究 本书特色 《智能图像检索关键技术研究》是毛金莲老师多年从事多媒体信息检索研究工作的系统性总结,包含了她对当前国际、国内在智能图像检索关...
Rails是业界领先的新一代Web2.0应用程序开发框架,而这本《RailsCookbook》里充满了为了让你成为Rails开发专家而准备的各种解决方
《Flutter 开发之旅从南到北》内容简介:本书主要讲述Flutter框架的核心技术。本书共12章,首先介绍了Flutter技术的基础知识、Dart
《千金良方:MySQL性能优化金字塔法则》内容简介:本书一共分为3篇:基础篇、案例篇和工具篇。“基础篇”从理论基础和基本原理层面