如何使用 SML 中的映射函数来实现此代码?

问题描述

fun add nil = nil    
 | add ((a,b) :: c) = (a+b) :: (add c);

我刚刚开始学习 SML,地图功能对我来说是新的。

如何使用 SML 中的映射函数来实现此代码

解决方法

-val a = [(1,2),(2,3),(3,4)];
val a = [(1,4)] : (int * int) list
- map (fn (x,y) => x + y) a;
val it = [3,5,7] : int list