gpt4 book ai didi

syntax - 为什么在 OCaml 的 List.map 中有一个 let ?

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

在 OCaml 3.12.1 中,List.map写成如下:

let rec map f = function
[] -> []
| a::l -> let r = f a in r :: map f l

我希望最后一行写为 | a::l -> f a :: map f l ,但取而代之的是一个看似无用的 let捆绑。为什么?

最佳答案

我相信它可以保证 map 的功能应用顺序。 OCaml 中简单表达式的求值顺序未指定,因此没有 let f的申请顺序列表的元素将是未指定的。由于 OCaml 不是纯语言,您确实希望指定顺序(f 首先在列表的头部调用,以此类推)。

关于syntax - 为什么在 OCaml 的 List.map 中有一个 let ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16124863/

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