Odwracanie listy w Ocaml
Jak odwrócić nawet podlistę listy, jeśli założymy, że zliczamy elementy z 0. Chcę, aby rozwiązanie zostało „zakodowane ręcznie”. Mam duży problem z tym zadaniem.
Na przykład:
Function([[1;2;3] ; [2;3] ; [1;2;3] ; [5;6;7]])
zwraca:
([[3;2;1] ; [2;3] ; [3;2;1] ; [5;6;7]])
Stworzyłem już funkcję, która odwraca pojedynczą listę:
let rev =
let rec rev_append acc l =
match l with
[] -> acc
| h::t -> rev_append (h::acc) t in
fun l -> rev_append [] l;;
Ale teraz utknąłem.