Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2676 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Perl - Tableau associatif Hash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Perl - Tableau associatif Hash

n°1972432
phdenis
Posté le 09-03-2010 à 11:06:16  profilanswer
 

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
mood
Publicité
Posté le 09-03-2010 à 11:06:16  profilanswer
 

n°1972433
phdenis
Posté le 09-03-2010 à 18:58:36  profilanswer
 

Désolé, j'ai oublié de préciser qu'il s'agissait de script écrit en langage Perl.


Message édité par phdenis le 09-03-2010 à 18:58:53
n°1972434
Fork Bomb
Obsédé textuel
Posté le 09-03-2010 à 19:31:50  profilanswer
 

C'est pour l'école ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1972435
black_lord
Truth speaks from peacefulness
Posté le 09-03-2010 à 20:30:18  profilanswer
 

Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par Black_lord


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1972466
phdenis
Posté le 10-03-2010 à 01:10:58  profilanswer
 

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é.

n°1972560
gilou
Modérateur
Modzilla
Posté le 10-03-2010 à 10:59:37  profilanswer
 

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+,


Message édité par gilou le 10-03-2010 à 11:28:21

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1972816
phdenis
Posté le 10-03-2010 à 22:38:57  profilanswer
 

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.

n°1972974
gilou
Modérateur
Modzilla
Posté le 11-03-2010 à 12:58:54  profilanswer
 

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+,


Message édité par gilou le 11-03-2010 à 13:08:51

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1973133
phdenis
Posté le 11-03-2010 à 21:53:00  profilanswer
 

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.

n°1973217
gilou
Modérateur
Modzilla
Posté le 12-03-2010 à 10:52:22  profilanswer
 

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 :
  1. my %Hash_Point;
  2. my $nb_data = scalar @Pt;
  3. for (my $i=0; $i<$nb_data; $i++) {
  4.    $Hash_Point{ $Pt[$i] } = [$x[$i], $y[$i], $z[$i]];
  5. }


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le 12-03-2010 à 10:52:22  profilanswer
 

n°1976570
phdenis
Posté le 23-03-2010 à 23:43:17  profilanswer
 

Merci ta réponse a résolu mon prblm


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Perl - Tableau associatif Hash

 

Sujets relatifs
[PERL] Mechanize: find_all_inputs()Remplir un tableau à plusieurs dimensions
Struts accéder à un tableau avec bean:writetableau html avec les servlet
Problème avec un tableauRemplir un tableau à partir d'un fichier
liste chainée et tableau dynamiqueAide Tableau Java
Recherche tableau[Perl] Comment envoyer le contenu d'un fichier text par mail
Plus de sujets relatifs à : Perl - Tableau associatif Hash


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR