| 作 者: | Mark Jason Dominus |
| 出版社: | 机械工业出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | Perl 程序设计 计算机/网络 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
本书赞誉
译者序
前言
第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 总结