gpt4 book ai didi

.net - 寻找类似于 map 的 F# 库函数,它将传递给 f 当前的计算状态

转载 作者:行者123 更新时间:2023-12-01 22:43:35 25 4
gpt4 key购买 nike

不知道F#库中有没有类似这个的函数?

let map_acc (f:int->int) (list:int list) =
let rec map_acc' f acc = function
| [] -> []
| h::t -> (f (h+acc))::(map_acc' f (h+acc) t)
map_acc' f 0 list

用法:

let xxx = map_acc id [1..10]

val xxx : int list = [1; 3; 6; 10; 15; 21; 28; 36; 45; 55]

它的用途与 map 非常相似,但它将当前状态(在给定情况下为累加器)传递给列表的每个元素。

最佳答案

是的,List.scan是您寻找的丢失的 key :

[1..10]
|> List.scan (+) 0
|> List.tail //skip the seed value, 0
|> List.map id //of course, map id is not useful, but just illustration here

关于.net - 寻找类似于 map 的 F# 库函数,它将传递给 f 当前的计算状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7295475/

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