【发布时间】:2015-01-13 04:26:33
【问题描述】:
所以我有这样的功能
let test (item: 'a ) (factors: items) : ('b list) =
....
这个函数接受一些 'a 元素的项目和我自己的项目类型,这是我传递给它的另一个项目列表。在做了一些事情后我返回了一个不同类型的列表
如何将 List.fold_left 与此函数一起使用,以便如果我有一个项目列表,我可以单独对每个项目应用测试,并将“因素”传递给所有项目,然后我可以为每一个连接生成的 'b 类型列表。
例如,我需要处理以下列表:
[somea; someb; somec]
as
(test somea factors)@(test someb factors)@(test somec factors)
这是 List.fold_left 不适用的任务吗?我可以使用其他功能吗?由于我的代码中的其他方法存在一些相互递归的问题,我无法递归遍历和调用该函数,那么还有另一种方法吗? List.map 在这里有用吗?
【问题讨论】:
标签: functional-programming ocaml