Bonjour, j'ai un problème avec des listes de matrices.
Voici le code (simplifié):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
let creerListe () = 
  let mat = [|0|] and liste = ref [] in
for i = 0 to 5 do
  mat.(0) <- i; liste := mat :: !liste
done;
!liste;;
qui renvoie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[[|5|];[|5|];[|5|];[|5|];[|5|]]
au lieu de d'une liste croissante.
Je crois que ça à quelque chose à voir avec le fait que je pointe toujours la même matrice. J'ai essayé d'y palier en mettant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
for i = 0 to 5 do
  mat.(0) <- i; liste := (Array.copy mat) :: !liste
done;
mais ça ne change rien...

Quelqu'un aurait-il une parade ? Merci beaucoup !!