chili 默默学编程

SICP(5):复合数据和 Escher 的例子


本文目录:

1、scheme 程序文件;

2、cons car cdr;

3、复合数据(简略);

4、Escher 的例子(简略);



scheme 程序文件

scheme 程序文件的保存格式类似于: “ hello.scm ”;

写好文件之后:

- cd 到文件目录cd Desktop/

- 在命令行运行 scheme

- 在命令行运行 (load "hello.scm")

// hello.scm 文件内容:
(define fhello (lambda () "hello world"))
(fhello)


// 命令行:
1 ]=> (load "hello.scm")

;Loading "hello.scm"... done

;Value 13: "hello world"

cons car cdr

cons 是构造一个序对

car 是取序对的第一个元素

cdr 是取序对的其他元素


复合数据

这部分内容我以前写过一个总结:

https://mp.weixin.qq.com/s/fzO-td3DJxx_vtVwNpkxcQ


大致意思就是:

- 用序对、自然数构造有理数

- 用有理数构造向量

- 用向量构造线段


各层之间是抽象屏蔽的


Escher 的例子

这个例子是用图形的变幻来描述编程的思想(抽象屏蔽)


reply ( 0 )