Допустим, у меня есть список типа integer [1;2;3;4;5;6;7;8] и я хочу, чтобы шаблон соответствовал первым трем элементам одновременно.Есть ли способ сделать это без вложенных операторов сравнения?
Например, можно ли это сделать так?
let rec f (x: int list) : (int list) =
begin match x with
| [] -> []
| [a; b; c]::rest -> (blah blah blah rest of the code here)
end
Я мог бы использовать метод длинных вложений, который будет:1006 *
let rec f (x: int list) : (int list) =
begin match x with
| [] -> []
| h1::t1 ->
begin match t1 with
| [] -> []
| h2::t2 ->
begin match t2 with
| [] -> []
| t3:: h3 ->
(rest of the code here)
end
end
end
Спасибо!