gpt4 book ai didi

方案:何时使用 let、let* 和 letrec?

转载 作者:行者123 更新时间:2023-12-02 11:30:30 28 4
gpt4 key购买 nike

let、let* 和 letrec 之间有什么区别?

请给出详尽的解释和示例。

最佳答案

您最好的选择是阅读official R5RS descriptions letlet*letrec

但是,简而言之:

(let ((x 2))
(let ((x 3) (y x))
y) => 2

(let ((x 2))
(let* ((x 3) (y x))
y) => 3

因此 letlet* 之间的区别是 let 将评估相对于上面级别的所有绑定(bind)(因此它不会)不管它们以什么顺序列出),而 let* 按顺序执行。 (let* ((x a) (b y))) 相当于 (let ((x a)) (let ((b y)))

另一方面,

letrec 允许您绑定(bind)递归值。因此,您可能会编写一个只想位于函数作用域内的递归函数,并使用 letrec 将其绑定(bind)到名称。

关于方案:何时使用 let、let* 和 letrec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530534/

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