我需要从惰性列表中删除副本。下面是我编写的一些代码,但我不知道如何修复它才能正常工作。
我知道如何使用常规列表来完成这个任务,但是懒惰列表对我来说仍然是新的,所以我会很高兴得到任何帮助。下面是我试图编写的一段代码:
let rec removeDuplicate = function
LNil -> LNil
|LCons(x,xf) -> x::(removeDuplicate (List.filter (fun a -> a<>x) xf));;提前谢谢你的帮助。
发布于 2014-11-12 15:48:25
我在代码中看到的第一个问题是,不是在第二个子句中构建惰性列表,而是使用:: consing运算符构建OCaml的内置::。另外,不能在尾部部分使用List.filter,因为它也操作'a list类型的值,而不是您的列表。
https://stackoverflow.com/questions/26890769
复制相似问题