出版社:机械工业出版社
年代:2013
定价:99.0
本书共9章。第1~3章从几个简单的主题展开了讨论,例如递归和回调、分配表、记忆函数等技术,介绍了学习Perl所有必要的基础知识。第4章开始构建一个迭代器框架,它是本书其余部分的基础。在本书前面介绍的例子的基础上,对迭代器上进行了过滤和转换,从而展示这种代码模式可以立即在真实的世界中使用。第5章介绍了划分问题、递归函数到迭代函数的转换以及阶乘和斐波纳级数的实现。第6章是有关无限数据流的问题。第7章介绍的是正则表达式字符串的生成问题。第8~9章是本书的核心,它实现了对其他函数进行操作的高阶函数,介绍并开发了通过本书框架进行制定规则和分析的功能,并实现了一个声明式绘图系统。
本书赞誉
译者序
前言
第1章 递归与回调
1.1 十进制到二进制的转换
1.2 阶乘
1.2.1 为什么私有变量是重要的
1.3 汉诺塔
1.4 层次化数据
1.5 目录遍历的应用和变化
1.6 函数式编程与面向对象式编程
1.7 HTML
1.7.1 更灵活的选择
1.8 当递归膨胀时
1.8.1 Fibonacci数
1.8.2 划分
第2章 分配表
2.1 配置文件处理
2.1.1 表驱动配置
2.1.2 分配表的优势
2.1.3 分配表策略
2.1.4 默认行为
2.2 计算器
2.2.1 再访HTML处理
第3章 缓存与记忆术
3.1 缓存修正递归
3.2 内联缓存
3.2.1 静态变量
3.3 好主意
3.4 记忆术
3.5 MEMOIZE模块
3.5.1 作用域和有效期
3.5.2 词法闭包
3.5.3 再谈记忆术
3.6 CAVEATS
3.6.1 返回值不依赖参数的函数
3.6.2 有边界效应的函数
3.6.3 返回引用的函数
3.6.4 带记忆的时钟
3.6.5 非常快的函数
3.7 键的生成
3.7.1 用户提供的键生成器的更多应用
3.7.2 内联的参数归一化的缓存管理
3.7.3 带有引用参数的函数
3.7.4 划分
3.7.5 为非纯函数定制的键生成
3.8 对象方法里的缓存
3.8.1 对象方法的记忆术
3.9 持续的缓存
3.10 可供选择的记忆术
3.11 传播福音
3.12 速度的好处
3.12.1 剖析和性能分析
3.12.2 自动剖析
3.12.3 钩子
第4章 迭代器
4.1 简介
4.1.1 文件句柄是迭代器
4.1.2 迭代器是对象
4.1.3 迭代器的其他普通实例
4.2 自制迭代器
4.2.1 一个平凡的迭代器:upto()
4.2.2 dir_walk()
4.2.3 聪明的灵感
4.3 实例
4.3.1 排列
4.3.2 基因组序列生成器
4.3.3 文件句柄迭代器
4.3.4 一个纯文本文件数据库
4.3.5 反向搜索数据库
4.3.6 随机数生成
4.4 过滤和变换
4.4.1 imap()
4.4.2 igrep()
4.4.3 list_iterator()
4.4.4 append()
4.5 半谓词问题
4.5.1 避免问题
4.5.2 可选的undef
4.5.3 重写功能函数
4.5.4 返回多个值的迭代器
4.5.5 明确的耗尽函数
4.5.6 四操作数迭代器
4.5.7 迭代器方法
4.6 可选的迭代器界面
4.6.1 用foreach循环多个数组
4.6.2 带有类each界面的迭代器
4.6.3 系住变量界面
4.7 一个扩展的例子:网页抓取
4.7.1 仅追逐有趣的链接
4.7.2 参考URL
4.7.3 robots.txt
4.7.4 总结
第5章 从递归到迭代器
5.1 再访划分问题
5.1.1 搜寻所有可能的划分
5.1.2 优化
5.1.3 变化
5.2 如何把一个递归函数转换成一个迭代器
5.3 一个通用的搜索迭代器
5.4 其他通用的移除递归的技术
5.4.1 尾调用移除
5.4.2 产生尾调用
5.4.3 明确的栈
第6章 无限流
6.1 链表
6.2 惰性链表
6.2.1 一个平凡的流:upto()
6.2.2 流的功能函数
6.3 递归流
6.3.1 使流带记忆
6.4 HAMMING 问题
6.5 正则字符串生成
6.5.1 按次序生成字符串
6.5.2 正则匹配
6.5.3 切断排序
6.6 NEWTON-RAPHSON方法
6.6.1 近似流
6.6.2 导数
6.6.3 乌龟和兔子
6.6.4 金融
6.7 幂级数
6.7.1 导数
6.7.2 其他函数
6.7.3 符号计算
第7章 高阶函数与currying
7.1 currying
7.2 普通的高阶函数
7.2.1 自动的currying
7.2.2 原型
7.2.3 更多的currying
7.2.4 还是更多的currying
7.3 reduce()和combine()
7.3.1 布尔操作符
7.4 数据库
7.4.1 操作符重载
第8章 解析
8.1 词法分析器
8.1.1 评估操作符
8.1.2 更通用的词法分析器
8.1.3 链式词法分析器
8.1.4 偷看
8.2 一般的解析
8.2.1 语法
8.2.2 解析语法
8.3 递归下降解析器
8.3.1 非常简单的解析器
8.3.2 解析器操作符
8.3.3 合成的操作符
8.4 算术表达式
8.4.1 一个计算器
8.4.2 左递归
8.4.3 star()的一个变体
8.4.4 通用操作符解析器
8.4.5 除错
8.4.6 完成的计算器
8.4.7 错误诊断和矫正
8.4.8 大数
8.5 解析正则
8.6 大纲
8.7 数据库查询解析
8.7.1 词法分析器
8.7.2 解析器
8.8 回溯解析器
8.8.1 续篇
8.8.2 解析流
8.9 重载
第9章 声明式编程
9.1 约束系统
9.2 本地传播网络
9.2.1 实现一个本地传播网络
9.2.2 本地传播的问题
9.3 线性方程
9.4 linogram:一个绘图系统
9.4.1 方程
9.4.2 值
9.4.3 特征类型
9.4.4 解析器
9.4.5 缺失的特征
9.5 总结
《高阶Perl》是Perl全球社区公认的经典著作,是资深Perl技术专家(核心贡献者之一)数十年工作经验的结晶,Perl 6设计者之一Conway亲自作序推荐。本书处处皆珍宝,不仅对Perl领域的各种经典问题给出了独到且精辟的解释,而且深入探讨了Perl中各种最新的主题,如递归、迭代器、过滤器、记忆术、划分、数值方法、高阶函数、currying、切断排序、基于语法的解析、惰性求值和约束编程等内容,并将这些转换成现实编程工作中强有力的实用工具:文件系统互动、HTML处理、数据库访问、网页抓取、排版、邮件处理、家庭理财、文本描图和图表生成等。全书包含大量真知灼见和最佳实践。
全书共9章:第1章介绍了递归与调用等参数化函数行为,分析了数制之间的转换、目录遍历、递归适用条件等;第2章讲解了代码引用的另一种用法—分配表;第3章介绍了解决性能问题的一个简单和普遍的做法—缓存;第4章讲解了迭代器的详细使用方式,包括迭代器概念、自制迭代器、迭代器实例、过滤与变换、半谓词问题、网页抓取等;第5章讲解了将通用递归函数转换到迭代器的技术;第6章介绍了如何使用无限流来摒弃迭代器的缺陷,涉及链表、递归流、正则字符串等内容;第7章介绍了把一个普通的函数转换成一个函数工厂以制造更多函数的currying技术,以及把一个函数转换成另一个函数的技术;第8章讲解了将未结构化的输入转换为数据结构的方式—解析;第9章介绍了声明式编程的技术与应用。
Perl全球社区公认经典著作,资深Perl专家(核心贡献者之一)数十年工作经验结晶,Perl 6设计者之一Conway亲自作序推荐
深入探讨Perl领域的各种经典问题和新主题,包含大量最佳实践和真知灼见,Perl程序员进阶必读
书籍详细信息 | |||
书名 | 高阶Perl站内查询相似图书 | ||
丛书名 | 华章程序员书库 | ||
9787111427735 如需购买下载《高阶Perl》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 机械工业出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 99.0 | 语种 | 简体中文 |
尺寸 | 19 × 24 | 装帧 | 平装 |
页数 | 582 | 印数 | 3000 |
高阶Perl是机械工业出版社于2013.6出版的中图分类号为 TP312 的主题关于 Perl语言-程序设计 的书籍。
(美) 克罗曼蒂克 (Chromatic) , 著
(美) 福瓦 (Foy,B.D.) , 著
(澳) 康韦 (Conway,D.) , 著
(美) 福瓦 (foy,B.D.) , 著
(美) 施瓦茨 (Schwartz,R.L.) , (美) 福瓦 (Foy,B.D.) , (美) 菲尼克斯 (Phoenix,T.) , 著
(美) 坡 (Poe,C.O.) , 著
(美) 施瓦茨 (Schwartz,R.L.) , (美) 福瓦 (Foy,B.D.) , (美) 菲尼克斯 (Phoenix,T.) , 著
(美) 施瓦茨 (Schwartz,R.L.) , (美) 菲尼克斯 (Phoenix,T.) , (美) 福瓦 (Foy,B.D.) , 著
(美) 霍尔 (Hall,J.N.) , (美) 麦克亚当斯 (McAdams,J.A.) , (美) 福瓦 (Foy,B.D.) , 著