作者:
[意] Paolo Perrotta
出版社: 华中科技大学出版社
原作名: Metaprogramming Ruby
译者: 廖志刚 / 陈睿杰
出版年: 2012-1-10
页数: 288
定价: 56.00元
装帧: 平装
ISBN: 9787560974583
出版社: 华中科技大学出版社
原作名: Metaprogramming Ruby
译者: 廖志刚 / 陈睿杰
出版年: 2012-1-10
页数: 288
定价: 56.00元
装帧: 平装
ISBN: 9787560974583
内容简介 · · · · · ·
《Ruby元编程》以案例形式循序渐进讲解Ruby对象模型原理和高级应用技巧,堪称动态语言的设计模式。书中讲述的各种Ruby编程模式,完全可以应用于其他动态语言(甚至静态语言)。本书不仅适合Ruby程序员阅读,也适合对动态编程 语言和面向对象编程感兴趣的读者阅读。所有对程序设计理论感兴趣的人都能从中获益。Ruby之父松本行弘作序推荐。
作者简介 · · · · · ·
Paolo Perrotta有超过10年的软件设计和开发经验,发表过上百篇技术文章。他用过Java、C++、C#编程,最后爱上了Ruby。他是较早接受敏捷方法的实践者,在Yoox(一家大型互联网时尚公司)从事管理敏捷团队的工作。他还在欧洲各国教授编程培训课。目前他和女友(还有一只猫)住在意大利,专心钻研Ruby。
目录 · · · · · ·
目录
前言 vii
致谢 ix
引言 xi
“元”这个字眼 xii
关于本书 xix
关于你 xxii
第1部分 Ruby元编程 1
第1章 星期一:对象模型 3
1.1 跟Bill在一起的星期一 3
1.2 打开类 4
1.3 类的真相 9
1.4 小测验:缺失的连接线 21
1.5 调用一个方法时发生了什么 23
1.6 小测验:混乱的模块 32
1.7 对象模型小结 35
第2章 星期二:方法 37
2.1 一个重复代码的问题 38
2.2 动态方法 40
2.3 method_missing()方法 48
2.4 小测验:狩猎Bug 59
2.5 关于method_missing()方法的更多内容 61
第3章 星期三:代码块 69
3.1 怎样度过驼峰日 70
3.2 小测验:Ruby的#符号 71
3.3 闭包 74
3.4 instance_eval() 83
3.5 可调用对象 86
3.6 编写一种领域专属语言 94
3.7 小测验:更好的领域专属语言 96
第4章 星期四:类定义 101
4.1 类定义揭秘 102
4.2 小测验:Taboo类 109
4.3 单件方法 110
4.4 Eigenclass 116
4.5 小测验:模块的麻烦 129
4.6 别名 131
4.7 小测验:打破数学规律 135
第5章 星期五:编写代码的代码 139
5.1 带路 139
5.2 Kernel#eval 142
5.3 小测验:校验过的属性(第一步) 152
5.4 小测验:校验过的属性(第二步) 155
5.5 小测验:校验过的属性(第三步) 157
5.6 小测验:校验过的属性(第四步) 158
5.7 钩子方法 159
5.8 小测验:校验过的属性(第五步) 165
第6章 尾声 167
第2部分“Rails中的元编程” 169
第7章 ActiveRecord的设计 171
7.1 准备旅程 172
7.2 ActiveRecord的设计 174
7.3 经验教训 183
第8章 深入ActiveRecord 187
8.1 动态属性 187
8.2 动态查找器 195
8.3 经验教训 200
第9章 安全元编程 205
9.1 元编程的测试 205
9.2 化解猴子补丁 213
9.3 经验教训 218
第三部分 附录 221
附录A 常见惯用法 223
A.1 拟态方法 223
A.2 空指针保护 226
A.3 关于方法参数的技巧 227
A.4 Self Yield 231
A.5 Symbol#to_proc()方法 232
附录B 领域专属语言 235
B.1 关于领域专属语言 235
B.2 内部和外部领域专属语言 237
B.3 领域专属语言和元编程 238
附录C 法术手册 239
C.1 法术集 239
附录D 参考书目 251
索引 253
· · · · · · (收起)
前言 vii
致谢 ix
引言 xi
“元”这个字眼 xii
关于本书 xix
关于你 xxii
第1部分 Ruby元编程 1
第1章 星期一:对象模型 3
1.1 跟Bill在一起的星期一 3
1.2 打开类 4
1.3 类的真相 9
1.4 小测验:缺失的连接线 21
1.5 调用一个方法时发生了什么 23
1.6 小测验:混乱的模块 32
1.7 对象模型小结 35
第2章 星期二:方法 37
2.1 一个重复代码的问题 38
2.2 动态方法 40
2.3 method_missing()方法 48
2.4 小测验:狩猎Bug 59
2.5 关于method_missing()方法的更多内容 61
第3章 星期三:代码块 69
3.1 怎样度过驼峰日 70
3.2 小测验:Ruby的#符号 71
3.3 闭包 74
3.4 instance_eval() 83
3.5 可调用对象 86
3.6 编写一种领域专属语言 94
3.7 小测验:更好的领域专属语言 96
第4章 星期四:类定义 101
4.1 类定义揭秘 102
4.2 小测验:Taboo类 109
4.3 单件方法 110
4.4 Eigenclass 116
4.5 小测验:模块的麻烦 129
4.6 别名 131
4.7 小测验:打破数学规律 135
第5章 星期五:编写代码的代码 139
5.1 带路 139
5.2 Kernel#eval 142
5.3 小测验:校验过的属性(第一步) 152
5.4 小测验:校验过的属性(第二步) 155
5.5 小测验:校验过的属性(第三步) 157
5.6 小测验:校验过的属性(第四步) 158
5.7 钩子方法 159
5.8 小测验:校验过的属性(第五步) 165
第6章 尾声 167
第2部分“Rails中的元编程” 169
第7章 ActiveRecord的设计 171
7.1 准备旅程 172
7.2 ActiveRecord的设计 174
7.3 经验教训 183
第8章 深入ActiveRecord 187
8.1 动态属性 187
8.2 动态查找器 195
8.3 经验教训 200
第9章 安全元编程 205
9.1 元编程的测试 205
9.2 化解猴子补丁 213
9.3 经验教训 218
第三部分 附录 221
附录A 常见惯用法 223
A.1 拟态方法 223
A.2 空指针保护 226
A.3 关于方法参数的技巧 227
A.4 Self Yield 231
A.5 Symbol#to_proc()方法 232
附录B 领域专属语言 235
B.1 关于领域专属语言 235
B.2 内部和外部领域专属语言 237
B.3 领域专属语言和元编程 238
附录C 法术手册 239
C.1 法术集 239
附录D 参考书目 251
索引 253
· · · · · · (收起)
"Ruby元编程"试读 · · · · · ·
喜欢读"Ruby元编程"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"Ruby元编程"的人也喜欢 · · · · · ·
- 松本行弘的程序世界 8.4
- 面向对象设计实践指南 8.3
- Web开发敏捷之道 7.2
- 重构 8.5
- The Rails 3 Way 8.3
- Erlang程序设计(第2版) 8.9
- R和Ruby数据分析之旅 9.0
- Pro Git 9.0
Ruby元编程的书评 · · · · · · ( 全部 16 条 )
ruby王国殿堂之路
刚读完这本书,欣喜之情溢于言表。 薄薄的一本书,把ruby对象模型、以及围绕此核心而来的各种高级技巧都讲透了,原理讲了不说,还外带把现实中的应用也一并列举了出来,让你不懂都不行:) 我喜欢这本书,不管你是初级入门还是中高级ruby程序员,此书都必须一读!注意不是值...
(展开)
> 更多书评 16篇
这本书的其他版本 · · · · · · ( 全部4 )
-
Pragmatic Bookshelf (2010)9.4分 161人读过
-
华中科技大学出版社 (2015)9.3分 117人读过
-
Pragmatic Bookshelf (2014)9.6分 37人读过
以下书单推荐 · · · · · · ( 全部 )
- Ruby与Rails开发书单 (欧阳)
- 闲着没事读读书(四) (鹿小羽)
- 软件 IT 经典 (uncutstone)
- R & Python & Ruby (神雕侠觅侣)
- 最近新书2(自用) (cruyff)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Ruby元编程的评论:
feed: rss 2.0
1 有用 lili 2015-07-13 19:06:37
深入Ruby本质实现。掌握Ruby必读
0 有用 bear 2012-06-18 15:50:15
基本上把Ruby和Rails的范式讲得连我都能看懂了。Btw,读这本书的时候才知道看了半本《计算机程序的构造和解释》对我的帮助有多大。
2 有用 orcl_zhang 2013-06-30 10:52:59
Ruby必读
1 有用 Z都懒得提曾经 2013-09-07 14:30:34
第一次遇到可读性这么高的代码书。
0 有用 Rayleigh! 2012-04-15 17:26:37
非常棒。值得多次阅读
0 有用 就就就就这样吧 2023-02-11 00:13:35 重庆
@2012-10-20 16:42:20
0 有用 lfkdsk 2022-06-26 13:47:36
一些 Ruby meta-programming 的语言实现和应用,对不了解编程语言设计的人还不错。但是很多 Ruby 不统一的设计语言,被解释为一些元编程特性就感觉非常尴尬。 就像一句话说的「如果不了解物理化学,那么处处都是魔法」,那我也可以参照这个来一句:「如果不了解语言设计,那么编译器到处开洞就全是语言魔法」。
0 有用 芒可猫 2022-06-14 16:03:03
@2016-08-02 19:16:18
0 有用 瑜彦伯璋 2021-07-07 15:04:31
NB
0 有用 卡兹莫丹的矮人 2021-04-28 15:41:14
真的好。以前主语言是c++,python,工作写java,最近第一次接触ruby,看了这本书仿佛打开新世界大门。太秀了。ruby本身语法就很美丽,极致的oo,函数名带?!,直接支持regex,很多小细节都让人舒服。这本书循序渐进,讲ruby元编程的强大实力,真的大开眼界。以前写c++这些元编程的功能我就从来没敢想过2333后半部分比较难,基本看前四五章就已经能有些理解了。