Ruby元编程(第2版) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
Ruby元编程(第2版)电子书下载地址
寄语:
Ruby之父松本行弘作序推荐
内容简介:
《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
作者介绍:
Paolo Perrotta有超过15年的软件设计和开发经验,他开发过嵌入式软件、企业级软件、计算机游戏和web应用,还发表过上百篇技术文章。他在欧洲各国教授敏捷课程,过着游牧般的生活。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
元编程……听起来很酷!好像是一种用于高级企业架构的设计方法。
事实上,元编程并非一个抽象的概念,它是一系列务实的编程技巧。在Ruby中,你可以用它完成如下一些工作。
假设你要写一个Ruby程序来连接外部系统(web服务或者Java程序),你可以用元编程写一个包装器用于接受任何方法的调用,然后把这些调用转发给外部系统。如果某人后来为这个外部系统添加了方法,即使不修改Ruby包装器,它也能自动支持新加入的方法。很神奇吧!
假设你遇到一类问题,需要设计某种领域专属语言来解决。如果你从头定义这门语言,并且自己编写解析器,工作量就太大了。你可以把Ruby改造成处理这个问题的专属语言。你甚至可以写一个简单的解释器从文件中读取这种基于Ruby语言的代码。
你可以把Ruby程序的简洁性提高到Java程序员做梦都不敢想的程度。比如一个包含20个方法的类,这些方法的名字看起来都差不多。元编程只用几行代码就能定义这些方法。如果你想调用一长串名字遵循一定的模式(比如名字都以test开头)的方法,元编程只用一行代码就能调用它们。
你可以改造Ruby使之满足你的需要,而不是去适应语言本身。例如,可以用你喜欢的方式增强任何一个类(包括Array这样的核心类);可以把想要监控的方法封装起来,当他人继承你的类后,就会执行你预先设定的代码……
在线阅读/听书/购买/PDF下载地址:
原文赏析:
Module#constants方法返回当前范围内的常量;
Module.constants方法返回当前程序中所有顶级常量;
使用load() 方法有一个副作用。motd.rb 文件很可能定义了变量和类。尽管变量在加载完成后会落在当前作用域之外,但常量不会。这样,motd.rb 可能会通过它的常量(尤其是类名)污染当前程序的命名空间。
可以通过使用第二个可选参数来强制其常量仅在自身范围内有效:load('motd.rb', true)
通过这种方式加载的文件,Ruby 会创建一个匿名模块,使用它作为命名空间来容纳motd.rb 中定义的所有常量,加载完成后,该模块会被销毁。
require() 方法与load() 方法颇为相似,但是它的目的不同。通过load() 方法可以执行代码,而require() 则是用来导入(import)类库。这就是require() 方法没有第二个可选参数的原因。在这些类库中的类名通常是你导入这些库时所希望得到的,因些没有理由在加载后销毁它们。
当你在一个类(甚至可以是另外一个模块)中包含(include)一个模块时,Ruby 耍了些小花招。Ruby 创建了一个封装该模块的匿名类,并把这个匿名类插入到祖先链中,其在链中的位置正好包含在它的类上方。
就在Bill画着图1.7 的时候,他还解释说这些“封装(wrapper)”类叫做包含类(include class),有时也叫做代理类(proxy class)。包含类是Ruby 的一个秘密,superclass() 方法会假装它们根本不存在,而且你也一般不能通过正常的Ruby 代码访问它们。不过,还是应该对此有所了解,至少它能帮助理解有很多模块的复杂类体系结构。
由于Book没有明确指定的超类,所以它隐式继承于Object,而Object类包含Kernel模块并继承于BasicObject。当Book类包含Document模块时,Ruby为Document模块创建了一个包含类,并把它加入到Book类的祖先链上,位置正好在Book类之上。紧接着,Book类又包含Printable模块,再一次,Ruby为Printable模块创建了一个包含类,并把它也加入到Book的祖先链上,位置还正好在Book类之上,这样祖先链从Document往上的其他成员,则顺次提高一位。
使用lambda()创建的Proc称为lambda,而使用其他方式创建的则简单称为proc。
lambda和proc的return关键字各有不同的含义,这是它们的第一个区别。在lambda中,return仅仅表示从这个lambda中返回:
在proc中,return的行为则有所不同。它不是从proc中返回,而是从定义proc的作用域中返回:
proc和lambda的第二个区别来自它们检查参数的方式……lambda的适应能力比proc以及普通的块差。如果调用lambda时的参数数量不对,则它会失败,同时会招聘一个ArgumentError错误;而proc则会把传递进来的参数调整为自己期望的形式:如果参数比期望的要多,那么proc会忽略多余的参数;如果参数数量不足,那么对未指定的参数,proc会赋予一个nil值。
在Ruby1.8中,Kernel#proc()实际上只是Kernel#lambda()的别名。由于程序员的不断抗议,在Ruby1.9中,proc()变成Proc.new的别名。
其它内容:
编辑推荐
元编程是Ruby世界的如意金箍棒,只有能驾驭它的人才能充分发挥其潜力。
《Ruby元编程(第2版)》在大量剖析实例代码的基础上,详细讲解了33种元编程技巧。
读者不仅能学到对象模型、作用域、单件类、代码块等元编程概念,还将学习Rails的组织结构和工作原理,以及如何借助元编程编写领域专属语言。
第2版更新Ruby 2.0、Ruby 2.1内容,大部分示例代码取自流行的软件框架和类库,包括Rails4。
媒体评论
这是一本让你一次次惊叹“原来如此”的书,它深刻的地阐释了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公司程序员
前言
Ruby的很多特性继承自其他语言,这些语言包括Lisp、Smalltalk、C、Perl等。它的元编程特性来自于Lisp和Smalltalk。元编程有点像魔法,看起来让人震惊。世界上有两种的魔法:好的白魔法和坏的黑魔法。同样,元编程也有两面性:你可以用元编程增强语言的功能,还可以创建领域专属语言;但是你也可能陷入到元编程的陷阱里。元编程是一种容易让人迷惑的技术。
Ruby相信你是一位成熟的程序员,它赋予你元编程这样强大的能力。但是你必须记住:能力越大,责任就越大。
请尽情享受Ruby编程吧!
——松本行弘
书籍介绍
《Ruby元编程(第2版)》在大量剖析实例代码的基础上循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby类库的实现细节,作者不仅向读者展示了元编程的优势及其解决问题的方式,更详细列出33种发挥其优势的编程技巧。本书堪称动态语言设计模式。Ruby之父松本行弘作序推荐。
网站评分
书籍多样性:3分
书籍信息完全性:4分
网站更新速度:9分
使用便利性:9分
书籍清晰度:8分
书籍格式兼容性:5分
是否包含广告:9分
加载速度:7分
安全性:7分
稳定性:4分
搜索功能:7分
下载便捷性:4分
下载点评
- 种类多(423+)
- 一般般(167+)
- txt(557+)
- 值得下载(296+)
- 体验还行(153+)
- 书籍多(243+)
- 傻瓜式服务(560+)
- 排版满分(629+)
- 无颠倒(391+)
- 格式多(123+)
- 简单(483+)
- 无广告(573+)
- 收费(222+)
下载评价
- 网友 田***珊: ( 2025-01-06 06:35:28 )
可以就是有些书搜不到
- 网友 邱***洋: ( 2025-01-15 19:16:25 )
不错,支持的格式很多
- 网友 曾***玉: ( 2025-01-15 13:53:45 )
直接选择epub/azw3/mobi就可以了,然后导入微信读书,体验百分百!!!
- 网友 常***翠: ( 2024-12-27 07:18:55 )
哈哈哈哈哈哈
- 网友 屠***好: ( 2024-12-23 15:04:10 )
还行吧。
- 网友 濮***彤: ( 2025-01-04 09:26:09 )
好棒啊!图书很全
- 网友 丁***菱: ( 2025-01-16 00:23:13 )
好好好好好好好好好好好好好好好好好好好好好好好好好
- 网友 仰***兰: ( 2025-01-09 09:39:47 )
喜欢!很棒!!超级推荐!
- 网友 芮***枫: ( 2024-12-21 05:10:58 )
有点意思的网站,赞一个真心好好好 哈哈
- 网友 冷***洁: ( 2024-12-22 12:06:44 )
不错,用着很方便
- 网友 曾***文: ( 2025-01-06 00:48:42 )
五星好评哦
喜欢"Ruby元编程(第2版)"的人也看了
精编1000种养生药膳 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
“画”说结者李亮唐神结刘宇红责孙宇清华大学出版社9787302578420 结核病中国图集 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
Pro/ENGINEER Wildfire 5.0中文版基础教程 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
【预订】日式住宅外观演绎法 NPO法人筑巢会 中文繁体室内设计 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
玛雅诸帝国 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 常用抗菌药物使用须知 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 亚洲金融行业(1986-2016) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 新一代基因组测序 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 数控车铣加工技术应用(何方孟) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 世界地图翡翠版 4开桌面悬挂两用 PP板材 防水耐磨可擦写 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 新科学探索丛书--风驰电掣-初级车辆模型制作 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 中国民间故事上下册全套2册刘守华陈丽梅著长江文艺出版社正版小学生四五六年级课外书籍8-12岁儿童民间传说故事书牛郎织女白蛇传 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 【官方直营】全新版2024GMAT官方指南(语文)备考gmat美国商学院出国留学英语考试原版 全真试题练习题题库 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 理想国(汉译名著本) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 高级卫生专业技术资格考试指导用书 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
书籍真实打分
故事情节:6分
人物塑造:5分
主题深度:7分
文字风格:4分
语言运用:4分
文笔流畅:8分
思想传递:7分
知识深度:5分
知识广度:4分
实用性:7分
章节划分:4分
结构布局:8分
新颖与独特:5分
情感共鸣:7分
引人入胜:7分
现实相关:4分
沉浸感:3分
事实准确性:4分
文化贡献:4分