Допустим, у меня есть список типа 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
Я мог бы использовать длинный вложенный метод, который был бы:
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
Спасибо!