SICP 笔记 Lec2b Compound Data Part 3 & Part 4
2021/10/19 6:09:51
本文主要是介绍SICP 笔记 Lec2b Compound Data Part 3 & Part 4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Lec2b 复合数据Compound Data
Part 3
41" - 56"
从有理数类比到用二维坐标来表示点的位置,而两个点即可表示一个线(向量)。
1.
引入Closure(闭包)的概念
我的理解:
所有的object可以被“完整”地封装,作为其他object的一部分。这个过程可以无穷无尽地进行下去,其所有的性质不会损耗。
即“道生一,一生二,二生三,三生万物”。
(如fortan就的数组(arrays)就不具有这种性质,array的元素不能是array。
2.
利用抽象层来分隔概念,强调抽象(Abstraction)的重要性。
Name 通过给每个小的成分命名,来分隔过程。使得其中一些部分的改变不需要影响全局。
Part 4
56"
再次强调Abstraction的重要性,愈发地模糊了data和procedure的边界。
1.
衡量标准
Contracts
衡量标准也可以作为概念的另一种表达方式。
We can say a rational number really is just this axiom(below)
Eg.
IF X = (MAKE-RAT N D)
THEN
(NUMBER X)/(DENOM X) = N/D
2.
抽象的最底层,没有所谓pairs的定义,而是“绝对的”抽象
(define (cons a b)
(lambda (pick)
(cond ((= pick 1) a)
((= pick 2) b))))
(define (car x) (x 1))
(define (cdr y) (y 1))
从这里可以发现,“有理数”与其说是一个“数据”结构,不如说是返回的一个lambda的procedure。
Q&A:
Q:
这些有理数的procedure存储在何处?
A:
procesudure也是一个object。
过程不仅仅是做“做事情”,还是概念实体(conceptual entities),是对象(object)。
这篇关于SICP 笔记 Lec2b Compound Data Part 3 & Part 4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain