gpt4 book ai didi

lambda - Lisp 方案 : let to lambda

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:23 25 4
gpt4 key购买 nike

我是 Lisp Scheme 的新手。我遇到了这段使用“let”的代码。如何用 lambda 替换它

这是代码

    (define Gen-Decoder-A
(lambda (p)
(define check-decode
(lambda (n)
(num-valid-words (encode-p p (encode-n n))))
)
(let ((decode-compare (map check-decode abc-nums)))
(encode-n (get-position (apply max decode-compare) decode-compare)))
((lambda
)
)

这里是完整代码的链接:https://github.com/corypisano/CS314/blob/master/Project2/decode.ss

let 在 Gen-Decoder-A 中帮我把 let 改成 lambda

最佳答案

let 只是 lambda 的语法糖 - let 变量可以重写为 lambda 参数在调用 lambda 时被绑定(bind)。例如,这个表达式:

(let ((decode-compare (map check-decode abc-nums)))
(encode-n (get-position (apply max decode-compare) decode-compare)))

等同于:

((lambda (decode-compare)
(encode-n (get-position (apply max decode-compare) decode-compare)))
(map check-decode abc-nums))

关于lambda - Lisp 方案 : let to lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47626087/

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