Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Débutant_:)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Remi VANICAT <vanicat@l...>
Subject: Re: [Caml-list] Débutant :)
Remi VANICAT <vanicat@labri.u-bordeaux.fr> writes:

> "AgEnT007" <agent007-fr@wanadoo.fr> writes:
> 
> > Bonjour à tous,
> > je viens de me mettre cette aprés midi mëme au language CAML et je bute deja sur un exemple que j'ai trouvé :)
> > 
> > voici ce que j'ai:
> > 
> > let rec exemple_1 f a l =
> > if l = [] then a 
> > else exemple_1 f ( f a (List.hd l)) (List.tl l) ;;
> > 
> > j'ai compris l'utilité d'une telle declaration mais pas celle du
> > < a > qui se trouve à la 3eme ligne. 
> > Quelqu'un pourrait t'il m'éclairer sur la troisieme ligne?
> 
> si l = [1; 2; 3; 4; 5; 6; 7; 8; 9]
> 
> alors exemple_1 f a l va calculer
> 
> (f (f (f (f ... (f (f a 9) 8) ...4) 3) 2) 1)

mais qu'est ce que je raconte ? ce que ça calcule c'est

(f (f (f (f ... (f (f a 1) 2) ...6) 7) 8) 9)

en effet

exemple_1 f a [1; 2; 3; 4; 5; 6; 7; 8; 9] =
exemple_1 f (f a 1) [2; 3; 4; 5; 6; 7; 8; 9] =
exemple_1 f (f (f a 1) 2) [ 3; 4; 5; 6; 7; 8; 9] =
....

-- 
Rémi Vanicat
vanicat@labri.u-bordeaux.fr
http://dept-info.labri.u-bordeaux.fr/~vanicat
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr