List.nth fait une erreur si n < 0

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1271 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Xavier Leroy 1997-02-16 13:37:16 +00:00
parent 4a2e700ea6
commit 9ab76e8c8f
1 changed files with 4 additions and 2 deletions

View File

@ -28,7 +28,10 @@ let tl = function
let rec nth l n =
match l with
[] -> failwith "nth"
| a::l -> if n <= 0 then a else nth l (n-1)
| a::l ->
if n = 0 then a else
if n > 0 then nth l (n-1) else
invalid_argument "List.nth"
let rec rev_append accu = function
[] -> accu
@ -48,7 +51,6 @@ let rec iter f = function
[] -> ()
| a::l -> f a; iter f l
let rec fold_left f accu l =
match l with
[] -> accu