You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 1245 Reporter: administrator Status: closed Resolution: not a bug Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
Bug description
Bonjour Luc,
Voici problème sur lequel j'ai longtemps séché. Je ne crois pas que ce soit
expliqué dans la doc...
J'ai besoin de compter le nombre d'occurrence de motifs dans un ensemble. Un
motif est un tableau, ici à un seul élément. Je parcours mon ensemble, et je
rajoute chaque motif rencontré dans une table.
Le problème, c'est que je réutilise à chaque fois le même tableau: les
différents motifs se mélangent, en tout cas quand la table est petite.
En effet, ce n'est pas indiqué dans la doc, mais ça s'explique facilement:
ce qui est stocké comme clé dans la table de hachage, ce n'est pas une
copie du tableau que tu passes comme second argument à Hashtbl.add,
mais une référence vers ce tableau. Donc, dans ton exemple, toutes
les entrées ont la même clé, car lorsque tu modifies a posteriori ton
tableau, tu modifies toutes les clés qui sont dans la table.
Il est donc en effet nécessaire de faire une copie du tableau avant de
l'utiliser comme clé, ceci pour garantir que les clés ne seront pas
modifiées plus tard.
Amicalement,
Xavier
The text was updated successfully, but these errors were encountered:
Original bug ID: 1245
Reporter: administrator
Status: closed
Resolution: not a bug
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Bonjour Luc,
En effet, ce n'est pas indiqué dans la doc, mais ça s'explique facilement:
ce qui est stocké comme clé dans la table de hachage, ce n'est pas une
copie du tableau que tu passes comme second argument à Hashtbl.add,
mais une référence vers ce tableau. Donc, dans ton exemple, toutes
les entrées ont la même clé, car lorsque tu modifies a posteriori ton
tableau, tu modifies toutes les clés qui sont dans la table.
Il est donc en effet nécessaire de faire une copie du tableau avant de
l'utiliser comme clé, ceci pour garantir que les clés ne seront pas
modifiées plus tard.
Amicalement,
The text was updated successfully, but these errors were encountered: