Bonjour, j'ai un problème avec des listes de matrices.
Voici le code (simplifié):
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
[[|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
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 !!
Partager