gpt4 book ai didi

f# - 这是对计算工作流程的正确脱糖吗?

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

这来自 Expert F# 2.0 第 231 页。显然是以下代码块

attempt { let! n1 = failIfBig inp1
let! n2 = failIfBig inp2
let sum = n1 + n2
return sum };;

对此进行脱糖处理:

attempt.Bind( failIfBig inp1,(fun n1 ->
attempt.Bind(failIfBig inp2,(fun n2 ->
attempt.Return sum)))))

但是在脱糖变体中 sum 在哪里计算?我期待更多像这样的东西:

attempt.Bind( failIfBig inp1,(fun n1 ->
attempt.Bind(failIfBig inp2,(fun n2 -> let sum = n1 + n2 in
attempt.Return sum)))))

最佳答案

是的,这是书上的错误,应该按如下方式去糖:

attempt.Bind( failIfBig inp1,(fun n1 ->
attempt.Bind(failIfBig inp2,(fun n2 -> let sum = n1 + n2 in
attempt.Return sum)))))

关于f# - 这是对计算工作流程的正确脱糖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6182055/

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