【PL理论】(10) F#:列表的折叠操作 | 累积器 accumulator | List.fold 函数 | List.foldBack 函数 | List.reduce 函数
    		       		warning:
    		            这篇文章距离上次修改已过426天,其中的内容可能已经有所变动。
    		        
        		                
                
// 定义一个函数,使用List.fold来计算列表中所有数字的总和
let sumList list = 
    List.fold (fun acc elem -> acc + elem) 0 list
 
// 测试函数
let testList = [1; 2; 3; 4; 5]
let result = sumList testList
printfn "Sum of list: %d" result  // 应该输出15
 
// 定义一个函数,使用List.fold来计算列表中所有数字的乘积
let productList list = 
    List.fold (fun acc elem -> acc * elem) 1 list
 
// 测试函数
let testList2 = [2; 3; 4]
let result2 = productList testList2
printfn "Product of list: %d" result2  // 应该输出24这段代码首先定义了两个函数sumList和productList,分别用于计算列表中所有元素的总和和乘积。然后通过List.fold函数对列表进行折叠操作,其中一个lambda表达式定义了累积逻辑。最后,提供了测试用例来验证这两个函数的正确性。
评论已关闭