Ruby元编程(第2版)
全新正版 急速发货
¥
25.9
3.8折
¥
68.8
全新
库存8件
作者Paolo Perrotta
出版社华中科技大学出版社
ISBN9787568009799
出版时间2015-07
装帧平装
开本16开
定价68.8元
货号23743086
上书时间2024-11-18
商品详情
- 品相描述:全新
- 商品描述
-
前言
Ruby的很多特性继承自其他语言,这些语言包括Lisp、Smalltalk、C、Perl等。它的元编程特性来自于Lisp和Smalltalk。元编程有点像魔法,看起来让人震惊。世界上有两种的魔法:好的白魔法和坏的黑魔法。同样,元编程也有两面性:你可以用元编程增强语言的功能,还可以创建领域专属语言;但是你也可能陷入到元编程的陷阱里。元编程是一种容易让人迷惑的技术。
Ruby相信你是一位成熟的程序员,它赋予你元编程这样强大的能力。但是你必须记住:能力越大,责任就越大。
请尽情享受Ruby编程吧!
——松本行弘
导语摘要
《Ruby元编程(第2版)》在大量剖析实例代码的基础上循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby类库的实现细节,作者不仅向读者展示了元编程的优势及其解决问题的方式,更详细列出33种发挥其优势的编程技巧。本书堪称动态语言设计模式。Ruby之父松本行弘作序推荐。
作者简介
Paolo Perrotta有超过15年的软件设计和开发经验,他开发过嵌入式软件、企业级软件、计算机游戏和web应用,还发表过上百篇技术文章。他在欧洲各国教授敏捷课程,过着游牧般的生活。
目录
部分 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
内容摘要
《Ruby元编程(第2版)》在大量剖析实例代码的基础上循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby类库的实现细节,作者不仅向读者展示了元编程的优势及其解决问题的方式,更详细列出33种发挥其优势的编程技巧。本书堪称动态语言设计模式。Ruby之父松本行弘作序推荐。
主编推荐
Paolo Perrotta有超过15年的软件设计和开发经验,他开发过嵌入式软件、企业级软件、计算机游戏和web应用,还发表过上百篇技术文章。他在欧洲各国教授敏捷课程,过着游牧般的生活。
精彩内容
元编程……听起来很酷!好像是一种用于高级企业架构的设计方法。
事实上,元编程并非一个抽象的概念,它是一系列务实的编程技巧。在Ruby中,你可以用它完成如下一些工作。
假设你要写一个Ruby程序来连接外部系统(web服务或者Java程序),你可以用元编程写一个包装器用于接受任何方法的调用,然后把这些调用转发给外部系统。如果某人后来为这个外部系统添加了方法,即使不修改Ruby包装器,它也能自动支持新加入的方法。很神奇吧!
假设你遇到一类问题,需要设计某种领域专属语言来解决。如果你从头定义这门语言,并且自己编写解析器,工作量就太大了。你可以把Ruby改造成处理这个问题的专属语言。你甚至可以写一个简单的解释器从文件中读取这种基于Ruby语言的代码。
你可以把Ruby程序的简洁性提高到Java程序员做梦都不敢想的程度。比如一个包含20个方法的类,这些方法的名字看起来都差不多。元编程只用几行代码就能定义这些方法。如果你想调用一长串名字遵循一定的模式(比如名字都以test开头)的方法,元编程只用一行代码就能调用它们。
你可以改造Ruby使之满足你的需要,而不是去适应语言本身。例如,可以用你喜欢的方式增强任何一个类(包括Array这样的核心类);可以把想要监控的方法封装起来,当他人继承你的类后,就会执行你预先设定的代码……
媒体评论
这是一本让你一次次惊叹“原来如此”的书,它深刻的地阐释了Ruby语言背后如同魔术一般的本质,我强烈推荐。
——Peter Bakhirev,Gilt City公司首席软件工程师
《Ruby元编程(第1版)》改变了我的编程方式,也改变了我的生活。我无法相信这本书还需要进一完善,但是Paolo Perrotta做到了。
——Richard Schneeman,Heroku公司程序员
Paolo用一种通俗易懂的方式诠释了元编程,这使各种水平的程序员都能从中受益。
——Paul Elliott,Hashrocket公司火箭设计师
不管你的基础如何,本书将是你学习Ruyb的*伴侣。我曾经为学习Ruby元编程痛苦了很多年,现在一切都豁然开朗了。
——Fabien Catteau,Tech-Angels公司软件工程师
我是Python的超级粉丝,所以我对Ruby向来不甚感冒。这本书改变了我的看法。本书不光对理解Ruby元编程有帮助,它也让我重新思考运用其他编程语言的方式。
——Arialdo Martini,JobRapido.com公司程序员
— 没有更多了 —
以下为对购买帮助不大的评价