Вы не можете.При сопоставлении шаблонов списков отсутствует «средний» элемент.
Следующий шаблон:
| "lorem" :: "ipsum" :: rest -> ...
будет соответствовать списку строк с не менее 2 соответствующими элементамисоответственно, "lorem"
и "ipsum"
и будет связывать rest
с остальной частью списка.
Используя:
| "lorem" :: "ipsum" :: [] -> ...
, вы собираетесь сопоставить список с 2 элемента, исключительно , которые соответствуют "lorem"
и "ipsum"
.
Если вы хотите использовать сопоставление с шаблоном на последнем элементе, вы можете сделать это с помощью
match List.rev list with
| last_element :: _ -> ...
но у вас должна быть веская причина для этого, потому что есть лучшие / более быстрые способы доступа к последнему элементу.