我是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;
答案 0 :(得分:0)
我建议您首先尝试编写一个函数,将所有数字添加到整数列表中,并将此数字添加到起始值(提示:这也可以使用折叠完成)。
然后,您可以使用此函数作为函数参数进行折叠以实现目标。