【发布时间】:2018-07-28 15:21:08
【问题描述】:
我是 SML 的新手,正在研究一些列表算法。我正在尝试使用 fold 函数将列表列表一起添加,而无需任何迭代。这个想法是
[[1,2,3],[4],[1]] = 11
这是我正在使用的折叠功能
fun fold f base [] = base
| fold f base (x::xs) = f x (fold f base xs);
因为我正在使用折叠,我不确定是否有一种方法可以使用折叠函数将列表列表变成一个列表,然后很容易将它们添加在一起,或者我只是想念球完全。
这是添加的函数,它们将单个列表的内容相加。
fun add x y = x+y;
fun sumList L = fold add 0 L;
【问题讨论】: