问题描述
我正在编写一个带有int列表并使用scanl返回总和的函数
下面的代码有效。
输入:[1,2,3]
sum_calc list = scanl (+) 0 [1..10]
输出:[0,1,3,6,10,15,21,28,36,45,55]
我想对其进行编辑,以使输出仅上升到输入列表的最后一个元素。我尝试使用0 [1..length列表],但是haskell向我吐了出来。
解决方法
您可以这样写:
sum_calc = scanl (+) 0
所以sum_calc [1,2,3]
返回[0,1,3,6]
。
您也可以写
sum_calc list = scanl (+) 0 list
如果您对list
的消失感到困惑。