Je souhaite creér deux fonction une qui créer aléatoirement un animal (create_animal) et une autre renvoie la liste des aminaux engendré par deux animaux adultes et de sexe different.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

soit le type:
type sexe = F | M;;
type age = Baby |Enfant | Adulte;;
type aminal= {id =int ; sex_ =sexe ;a= age}

let sex () =let i= Random.int (2) in if(i=0) then F else M;; 

let age () =let i= Random.int (3) in if(i=0) then Baby
                        else if (i=1) then Enfant   else Adulte;;

let id_p=  ref 0  (*un pointeur sur id_p pour n'est pas créer de doublons*)


let creer_animal  () = let id_p = !id_p +1  in
                                 let a_ =age ()  in
                                 let s_ =sex ()   in 
                                { !animal.id_p= int ; animal.s_=sexe; animal.a_=age};;
{ !animal.id_p= int ; animal.s_=sexe; animal.a_=age};;
Error: Syntax error : { !animal.id_p= int ; animal.s_=sexe; animal.a=age }
#

Deuxieme fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
(*a1 a2 : animaux*)

let les_enfant  a1 a2 = let a_1= a1.age in let s_1= a1.sexe in let a_2= a2.age in let s_2= a2.sexe in
                                  if( (a_1= Adulte && a_2= Adulte) && ( s_1 !=s_2)) then  ()::create_animal()   else [];;  

Error: Unbound record field age
Je vous remercie de votre précieux temps que vous accordé à mon code !!!!!