当前位置:  开发笔记 > 编程语言 > 正文

怎么用套装!在Scheme函数?

如何解决《怎么用套装!在Scheme函数?》经验,为你挑选了1个好方法。

你会怎么用套装!在一个简单的过程中,如果从左到右计算+的参数,如果从右到左计算参数,则评估(+(f 0)(f 1))将返回0?



1> 小智..:

最简单的方法可能是存储一些外部状态,并且f的实现会影响它的内容.

(define x 0)
(define (f n) (let ((tmp x)) (set! x n) tmp))

因此,x最初为0,每次对f的调用都将返回x的当前值,并将参数保存为x的新值.因此,(f 0)后跟(f 1)将返回0,最终x值为1.而评估(f 1)后跟(f 0)将产生0然后是1,最终x为0.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有