gpt4 book ai didi

functional-programming - SML 中绑定(bind)的值(value)?

转载 作者:行者123 更新时间:2023-12-01 13:38:59 24 4
gpt4 key购买 nike

有人可以解释为什么“ans”在计算后在这里绑定(bind)到值 16 - 这是正确答案吗?

我认为答案是 3,因为我们正在调用函数 f 并发送值 1 和 2,因为函数 f 也看不到值 5 和 10,但我想我错了。

val x = 1

val y = 2

val f = fn y => x + y

val x = 5

val y = 10

val ans = f x + y

最佳答案

我想我明白了。开始了:

函数 f 直到最后才被计算。所以在:

val ans = f x + y

... 函数 f 被调用,最近的值 x5 因为前一个 x 的值 被隐藏了。所以在:

val f = fn y => x + y

... 收到的值成为 y 的值。这里函数 f 取前一个 x 的值,即 1 所以总共 6 (x 来自静态环境)。然后:

val ans = f x + y

我们回到这里:6 + 10 = 16

关于functional-programming - SML 中绑定(bind)的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41908009/

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