从OCaml中的列表中删除元素的标准方法是什么?

时间:2011-11-10 06:54:45

标签: ocaml

在常见的lisp中,我们可以使用remove函数。

似乎OCaml中没有这样的方法?

1 个答案:

答案 0 :(得分:15)

OCaml中的列表是不可变的。所以你不能从中删除东西。您通常会创建另一个没有您不想要的内容的列表。为此,您将使用List.filter

如果您必须拥有可变列表,则可以。在电池中有一种叫做Dllist的东西可能就像你想要的那样。 (这是一个双向链表,但与Lisp列表不同)。

在我看来,OCaml的一大优点是纯功能子集非常有效。我从来不需要在我自己的项目中使用可变列表。