Bonsoir à tous.
Je suis actuellement en train de préparer un TIPE qui utilise CAML, et celà m'a ammené à me poser quelques questions sur la fonction copy_vect.
Jugez plutôt des deux fonctions suivantes :
Ici test [|1;1|];; renvoie [|0; 1|], [|1; 1|]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 let test vecteur = let copie = copy_vect vecteur in copie.(0) <- 0; (copie,vecteur);;
C'est le résultat attendu, seule la copie a été modifiée.
Les choses semblent différentes pour des vecteurs de dimension supérieure à 1:
Ici test2 [|[|1;1|];[|1;1|]|];; renvoie [|[|0; 1|]; [|1; 1|]|], [|[|0; 1|]; [|1; 1|]|]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 let test2 vecteur = let copie = copy_vect vecteur in copie.(0).(0) <- 0; (copie, vecteur);;
La copie et l'argument on été modifiés !
J'ai conscience qu'en dimension 2 nous avons affaire à des vect*vect, alors que copy_vect s'applique sur vect.
Mais alors comment copier un vect*vect à l'aide de la fonction copy_vect ?
Merci d'avance pour votre aide, j'espère avoir été assez clair
Partager