gpt4 book ai didi

haskell - 通过累积添加另一个列表的元素来创建列表 : Haskell

转载 作者:行者123 更新时间:2023-12-04 04:46:21 27 4
gpt4 key购买 nike

我似乎找不到任何关于高阶函数的信息可以做到这一点。我在几个地方找到了对 cadd 的引用,但在 haskell api 中找不到任何信息。

我只是想获取一个浮点数列表,并通过累积添加每个浮点数来创建另一个列表。原始列表总是从零开始。所以如果我有一个 [0,2,5,9] 的列表,我会得到一个 [0,2,7,16] 的列表。

accumulateTime :: [Float] -> [Float]
accumulateTime (x:xs) = cadd????

我有这段代码的其他部分在做事,但我似乎不知道如何制作这个列表。

最佳答案

听起来您想要 scanl 的变体,与 foldl 相关,但会创建一个中间结果列表。所以虽然foldl (+) 0汇总一个列表,scanl (+) 0创建部分和的列表。在这里,您可能想要 scanl1 (+) ,它不会在开头添加额外的零。

Prelude> scanl1 (+) [0, 2, 5, 9]
[0,2,7,16]

关于haskell - 通过累积添加另一个列表的元素来创建列表 : Haskell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059057/

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