《The Little Schemer》第四版:探索递归的奥秘
需积分: 10 47 浏览量
更新于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 上传
2019-01-09 上传
2021-06-27 上传
2019-02-07 上传
tujinyu
- 粉丝: 0
- 资源: 1
最新资源
- 情感分类器
- MemoryTest.rar_数值算法/人工智能_Visual_C++_
- sketch-data-super-heroes::male_sign::male_sign:此存储库包含适用于Sketch设计师的超级数据集
- 人工智能五子棋.zip
- HotApplet-开源
- matlab心线代码-ECG-electrocardiogram:这是使用PIC18F4550微处理器创建的ECG
- Codeflix
- tv-shows-nextjs:电视节目与Next.js一起使用
- 小白简约浏览器界面.zip
- led-matrix-art:PIXEL控制台应用程序的更好的Web界面
- ADEL-WEB
- TicketKit是一个可以轻松创建票证或优惠券的框架-Swift开发
- 人工智能社会保险反欺诈分析-rank26.zip
- center.rar_教育系统应用_Visual_C++_
- Elenco-crx插件
- admissionClassification