Какой стандартный способ удалить элемент из списка в OCaml? - PullRequest
9 голосов
/ 10 ноября 2011

В общем lisp мы можем использовать функцию remove.

Кажется, в OCaml такого метода нет?

1 Ответ

15 голосов
/ 10 ноября 2011

Списки в OCaml неизменны. Таким образом, вы не можете удалить вещи из них. Обычно вы создаете другой список, в котором нет вещей, которые вам не нужны. Для этого вы бы использовали List.filter.

Если вам абсолютно необходимы изменяемые списки, вы можете. В Батареях есть нечто, называемое Dllist , которое может быть таким, как вы хотите. (Это, однако, двусвязный список, в отличие от списка Lisp).

Одной из замечательных особенностей OCaml, на мой взгляд, является то, что чисто функциональное подмножество действительно весьма эффективно. Мне никогда не приходилось использовать изменяемые списки в моих собственных проектах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...