【SICP读书笔记(二)】使用过程来黏合数据 —— 酷炫吊的消息传递机制

编程入门 行业动态 更新时间:2024-10-07 16:24:57

【SICP读书笔记(二)】使用过程来黏合数据 —— <a href=https://www.elefans.com/category/jswz/34/1765514.html style=酷炫吊的消息传递机制"/>

【SICP读书笔记(二)】使用过程来黏合数据 —— 酷炫吊的消息传递机制

首先,让我们来看几个内建函数

(cons x y),作用是把x和y绑定成一个序对

(car z),作用是提取z序对的第一个元素

(cdr z),作用是提取z序对的第二个元素

 

容易看出,这个东西有点类似OO语言里的类,car和cdr是get方法,x和y是成员变量。

 

但是,但是!

函数式的编程方式,居然可以利用过程来实现这三个函数!实在是不可思议

下面具体看看实现的过程

 

(define (cons x y)(lambda (m) (m x y)))(define (car z)(z (lambda (x y) x)))(define (cdr z)(z (lambda (x y) y)))

 

首先,cons过程接受两个元素,却不是返回我们想象中的数据,而是返回了一个以过程为参数的新过程

其次,在car过程中,接受这个cons产生的过程,并传递了一个新的过程给它,最后根据cons的参数表把要的数据读取了出来

 

实在是不可思议,大开眼界

转载于:.html

更多推荐

【SICP读书笔记(二)】使用过程来黏合数据 —— 酷炫吊的消息传递机制

本文发布于:2024-02-13 18:39:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759971.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:酷炫   读书笔记   机制   过程   消息

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!