标准ML中的部分总和?

时间:2013-01-17 21:24:21

标签: list functional-programming sum partial sml

我是函数式编程的新手,我有一个用于计算列表的部分和的赋值。 例如。 - psum [1,1,1,1,1]; val it = [1,2,3,4,5]:int list

到目前为止,这是我的代码。但是在函数psum2 [L]中,我不知道如何遍历每个值并将它们添加起来,所以我只打印列表。

fun psum2(L) : int list = 
   if L=nil then []
   else L;

fun pSum(L) : int list = 
   psum2(L);

exception Empty_List;

psum([2,3,4]);

1 个答案:

答案 0 :(得分:1)

你的问题有点宽泛,但这是总结清单的一种方法。也许你可以根据自己的目的调整它:

fun sum [] = 0
  | sum (h::t) = h + sum t