Perl - Tableau associatif Hash - Perl - Programmation
Marsh Posté le 09-03-2010 à 18:58:36
Désolé, j'ai oublié de préciser qu'il s'agissait de script écrit en langage Perl.
Marsh Posté le 09-03-2010 à 19:31:50
C'est pour l'école ?
Marsh Posté le 09-03-2010 à 20:30:18
Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par Black_lord
Marsh Posté le 10-03-2010 à 01:10:58
Non, il ne s'agit pas d'un sujet pour l'école.
Je ne suis plus étudiant, j'ai commencé à apprendre Perl récemment et je me demande comment faire cela.
Vu que je suis entrain d'essayer de rédiger un script, mais je butte sur cette difficulté.
Marsh Posté le 10-03-2010 à 10:59:37
Grosso modo, tu veux ceci:
$Hash_Point{ 'Point1' } = ['x1', 'y1', 'z1'];
A la clé 'Point1' du hash on associe une référence sur un array anonyme.
Tu peux ensuite accéder à cette array comme @{$Hash_Point{'Point1'}} et donc a ses composants comme @{$Hash_Point{'Point1'}}[0], @{$Hash_Point{'Point1'}}[1]... ou aussi comme $Hash_Point{'Point1'}->[0], $Hash_Point{'Point1'}->[1]...
A+,
Marsh Posté le 10-03-2010 à 22:38:57
Slt,
Si je comprends bien, il faut que je prenne element par element des mes listes @x,@z,@y et que je fasse une association entre le Point1 et les listes.
Je vais essayer cela et je te tiens au courant.
Merci pour ta réponse.
Marsh Posté le 11-03-2010 à 12:58:54
Si tu expliquais sous quelle forme sont tes données en entrée (fichier texte avec les valeurs séparées par des blancs?) ça aiderait à répondre
Citation : Voici le contenu de mes listes |
C'est quoi ces listes? vu que apparemment tes données sont sous la forme Point1 x1 y1 z1.
A+,
Marsh Posté le 11-03-2010 à 21:53:00
Bonsoir,
Mes données sont dans un fichier texte sous la forme suivante:
Pt: Pt1 Pt2 Pt3
X: x1 x2 x3
Y: y1 y2 y3
Z: z1 z2 z3
Je viens via mon script parcourir mon fichier texte et je récupère chaque information dans des listes @Pt, @x, @y, @z
Donc à la fin, je me retrouve avec 4 listes:
Une liste contenant les Pts1 et 3 listes contenant des coordonnées x,y,z.
Merci pour ta réponse.
Marsh Posté le 12-03-2010 à 10:52:22
Citation : Je viens via mon script parcourir mon fichier texte et je récupère chaque information dans des listes @Pt, @x, @y, @z |
Si tu as ces 4 arrays, le plus simple pour remplir ton hash est de faire comme suit:
Code :
|
A+,
Marsh Posté le 09-03-2010 à 11:06:16
Bonjour,
Je voudrais remplir une table de hachage qui a plusieurs dimensions.
Je ne sais pas trop comment procéder.
Mes données sont les suivantes:
Point1 x1 y1 z1
Point2 x2 y2 z2
...
Pointn xn yn zn
Voici le contenu de mes listes
@x x1 x2 ... xn
@y y1 y2 ... yn
@z z1 z2 ... zn
Comment construire une table de hachage qui me permettra d'associer le Pointn avec les coordonnées x, y, z.
Par exemple, si ma table de hachage s'appele %Hash_Point
Si je fais $Hash_Point('Point1'), je veux avoir x1 y1 z1
Merci
Message édité par phdenis le 09-03-2010 à 18:59:24