gpt4 book ai didi

scheme - 套装怎么用!在 Scheme 函数中?

转载 作者:行者123 更新时间:2023-12-04 19:24:50 25 4
gpt4 key购买 nike

你会怎么用set!在一个简单的过程 f 中,如果 + (f 0) (f 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。

关于scheme - 套装怎么用!在 Scheme 函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/300658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com