添加列表列表

时间:2018-02-18 04:18:41

标签: list sml fold

我是SML的新手,正在开发一些arithmitic列表。我试图使用fold函数一起添加列表列表,没有任何迭代。这个想法是

[[1,2,3],[4],[1]] = 11

这是我正在使用的折叠功能

fun fold f base [] = base
| fold f base (x::xs) = f x (fold f base xs);

因为我正在使用折叠,我不确定是否有办法使用fold函数将列表列表列为一个列表,然后很容易将它们添加到一起,或者如果我只是缺少球完全。

以下是添加的功能,它们将单个列表的内容相加。

fun add x y = x+y;
fun sumList L = fold add 0 L;

1 个答案:

答案 0 :(得分:0)

我建议您首先尝试编写一个函数,将所有数字添加到整数列表中,并将此数字添加到起始值(提示:这也可以使用折叠完成)。

然后,您可以使用此函数作为函数参数进行折叠以实现目标。