《The Little Schemer》第四版:探索递归的奥秘
需积分: 10 128 浏览量
更新于2024-07-17
收藏 2.25MB PDF 举报
"《小.Scheme程序员》第四版,作者Daniel P. Friedman和Matthias Felleisen,是一本通过Scheme语言深入讲解递归思想的书籍。书中提出了十条编程准则,引导读者逐步掌握递归的精髓。"
《小.Scheme程序员》第四版是面向函数式编程初学者的经典读物,特别关注 Scheme 语言中的递归概念。作者 Daniel P. Friedman 和 Matthias Felleisen 以其独特的教学方式,让读者在轻松愉快的阅读中领悟递归的奥秘。书中的“十诫”是理解递归和Scheme编程的核心指导原则。
第一诫告诫我们在处理列表、数字或S表达式时,应采用递归策略。对于列表,要询问其是否为空(null?);对于数字,检查是否为零(zero?)。对于S表达式列表,需要考虑三个问题:列表是否为空,首元素是否为原子(atom?),以及其他的处理情况。
第二诫强调使用常量构建列表,这有助于保持代码简洁且易于理解。
第三诫提示我们在递归构造值时,要有一个终止条件。例如,在加法中,终止值为0,因为加上0不会改变结果;在乘法中,终止值为1,因为乘以1也不会改变乘积;在使用cons构造列表时,终止值通常为空列表(())。
第四诫指出,每次递归时至少要改变一个参数。处理原子列表lat时,可以使用cdr来改变列表的后继部分。
第五诫涉及构建值的过程,如在使用加法、乘法或cons时,应明确终止条件。这有助于确保递归过程的正确性,并避免无限循环。
第六诫是将典型元素描述出来,然后使用cons将其与自然递归相结合,以此构建列表。这种方法帮助读者理解如何通过递归构造复杂的结构。
这些原则不仅适用于Scheme语言,也适用于其他支持递归的函数式编程语言。通过遵循这些准则,读者不仅可以学会如何编写递归函数,还能培养出一种更清晰、更优雅的编程思维方式。《小.Scheme程序员》第四版是学习递归和函数式编程的宝贵资源,无论你是新手还是经验丰富的开发者,都能从中受益匪浅。
2018-03-16 上传
2019-03-06 上传
2015-12-16 上传
2021-06-27 上传
2019-02-07 上传
2021-07-07 上传
2018-04-23 上传
tujinyu
- 粉丝: 0
- 资源: 1
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜