<div dir="auto">Hello,</div><div dir="auto"><br></div><div dir="auto">Pour moi ta description est un peu abstraite, donc je comprends pas bien. </div><div dir="auto">C’est sans doute parfaitement décrit, mais sans savoir de quoi on parle, j’ai du mal à visualiser le problème.</div><div dir="auto">Tu pourrais dire de quoi il s’agit ? :)</div><div dir="auto"><br></div><div dir="auto">k a i</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 10, 2024 at 09:12 Patrice Karatchentzeff <<a href="mailto:patrice.karatchentzeff@gmail.com">patrice.karatchentzeff@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Salut,<br>
<br>
J'ai une question... qui dépasse un peu le cadre directement de la<br>
programmation en Perl. C'est la structure de données de mes<br>
programmes.<br>
<br>
Aujourd'hui, j'ai un truc qui fonctionne, mais qui ne me plait pas,<br>
car je suis obligé de dupliquer mes données dans mon programme et je<br>
voudrais les centraliser, de façon in fine à pouvoir les passer<br>
éventuellement en paramètres, sous une forme ou une autre.<br>
<br>
Mon script prend des données sous forme de paires. J'ai donc une liste<br>
de paires et je traite ensuite en interne chaque paire dans une<br>
moulinette. J'ai besoin de faire des stats à l'issue du traitement de<br>
la paire, donc de rattacher des valeurs de statistique à chaque paire.<br>
<br>
J'ai une autre contrainte. La traitement n'est pas égal pour chaque<br>
paire : il est pondéré. Cela veut dire que certaines paires doivent<br>
être moulinées plus souvent. Pour le moment, je m'en sors (et c'est là<br>
qu'est l'os) en écrivant une liste de ces paires en dupliquant<br>
certaines paires plusieurs fois. Puis en tirant au sort un numéro dans<br>
cette liste de paires. Par exemple, si la paire A est dupliquée 3 fois<br>
dans une liste de 10 paires, elle a statistiquement 30% de chance<br>
d'être choisie contre 10% pour les autres. Cela fonctionne bien.<br>
<br>
Mon problème est comment décrire une fois pour toutes mes données (et<br>
éventuellement pouvoir les externaliser de mon script) avec ces<br>
conditions ? Une liste de paires pondérées.<br>
<br>
Pour le moment, j'ai une table de hash avec pour chaque paire une<br>
clé/valeur, que je complète avec les données statistiques. Je suis<br>
obligé d'initialiser ma table pour le premier tour de mon script et<br>
ensuite de dupliquer les clés/valeurs pour créer une liste que je vais<br>
interroger aléatoirement. Un gag de plus est que les clés ne sont pas<br>
uniques, donc j'ai d'entrée une table de tables de hash....<br>
<br>
Est-ce que vous auriez une idée d'une approche plus globale qui me<br>
permettrait d'éviter la duplication ? J'ai essayé de dupliquer en<br>
interne à partir du hash, mais je me retrouve avec des référence de<br>
hash qui sont incompatibles avec le pragma use strict !<br>
<br>
J'espère avoir été clair... N'hésitez pas à me demander d'éclaircir !<br>
<br>
Merci d'avance,<br>
<br>
PK<br>
<br>
-- <br>
|\ _,,,---,,_ Patrice KARATCHENTZEFF<br>
ZZZzz /,`.-'`' -. ;-;;,_ mailto:<a href="mailto:patrice.karatchentzeff@gmail.com" target="_blank">patrice.karatchentzeff@gmail.com</a><br>
|,4- ) )-,_. ,\ ( `'-'<br>
'---''(_/--' `-'\_)<br>
_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@mongueurs.net" target="_blank">Perl@mongueurs.net</a><br>
<a href="http://listes.mongueurs.net/mailman/listinfo/perl" rel="noreferrer" target="_blank">http://listes.mongueurs.net/mailman/listinfo/perl</a><br>
Attention, les archives sont publiques<br>
</blockquote></div></div>