"Teach Yourself Scheme in Fixnum Days 是一本针对Scheme编程语言的入门教程,适合已有编程基础,特别是熟悉动态语言的读者快速掌握Scheme的独特之处。该书也适合希望系统学习Scheme的学生。" 在这本教程中,作者Dorai Sitaram详细介绍了Scheme的基本概念和语法。以下是关键知识点的概述: 1. **进入Scheme** - 教程的开头引导读者进入Scheme的世界,介绍如何设置环境并开始编写Scheme代码。 2. **数据类型** - **简单数据类型**:包括布尔值、数字、字符和符号。布尔值只有#t(真)和#f(假);数字包括整数和浮点数;字符是单个字符表示;符号是不可变的标识符。 - **复合数据类型**:如字符串、向量、尾递归对和列表。字符串是由字符组成的序列;向量类似于数组,但操作通常更快;尾递归对和列表是Scheme中构建复杂数据结构的基础。 - **其他数据类型**:可能包括特殊的数据结构或特定于实现的类型。 - **S表达式(S-expressions)**:是Scheme程序的基本表示形式,可以是原子(如数字、符号等)或嵌套的列表。 3. **形式** - **过程**:定义函数或操作,有固定数量的参数或可变数量的参数。 - **apply**:用于将一个列表作为参数传递给另一个过程。 - **序列化**:控制执行顺序,如表达式的求值顺序。 4. **条件语句** - **when和unless**:简洁的条件表达方式,类似于其他语言的if-then和if-not。 - **cond**:多分支条件判断,比if更灵活。 - **case**:基于关键字的多分支选择。 - **and和or**:短路逻辑运算符,用于组合条件。 5. **词法变量** - **let和let\***:创建局部变量的绑定,let\*保证变量按顺序绑定。 - **fluid-let**:允许改变变量的绑定,类似动态作用域。 6. **递归与迭代** - **letrec**:支持自引用的递归定义。 - **命名let**:提供了一种在不使用letrec的情况下实现递归的方法。 - **迭代**:通过循环和递归实现计算,如使用do或while。 - **列表处理**:介绍了如何遍历和应用过程到列表的所有元素。 7. **输入/输出(I/O)** - **读取**:从输入源获取数据,如键盘或文件。 - **写入**:将数据输出到显示器或文件。 - **文件端口**:管理文件的打开、关闭和读写操作,自动打开和关闭功能。 通过这本书,读者不仅可以学习到Scheme的基本语法,还能了解到函数式编程的核心概念,以及如何利用Scheme的特性进行高效编程。对于想要深入理解Lisp家族语言的程序员来说,这是一本宝贵的资源。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 22
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)