2013-01-17 51 views
0

函數式編程的新功能,我有一個計算列表的部分總和。 例如 - psum [1,1,1,1,1]; val it = [1,2,3,4,5]:int list標準ML中的部分金額?

這是我的代碼到目前爲止。然而,在函數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]); 
+2

提示:這個函數通常被稱爲'scan'或'scanl'。 –

回答

1

你的問題有點寬泛,但這裏有一個方法來總結一個列表。也許你可以適應你的目的:

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