Un array de Hashes UP: trier ce array [Perl] - Perl - Programmation
Marsh Posté le 30-07-2003 à 19:03:35
Hé bien tu peux faire un tableau de reference de hash:
Code :
|
Marsh Posté le 30-07-2003 à 21:44:02
pospos a écrit : Hé bien tu peux faire un tableau de reference de hash:
|
une fois qu'on a le tableau de hash, comment on récupère les clés ?? (les différents id par exemple)
Marsh Posté le 31-07-2003 à 01:16:11
ben comme je te l'ai ecrit avec le foreach
Tu est obligé de parcourir tout le tableau
foreach my $record (@records) {
print $record->{id};
}
Marsh Posté le 31-07-2003 à 09:27:37
pospos a écrit : ben comme je te l'ai ecrit avec le foreach |
en fait, je me suis trompé
je voulais demander : comment on récupère id, bidule et machin ?
Marsh Posté le 31-07-2003 à 11:18:31
ben c'est excatement pareil:
my $i;
foreach my $record (@records) {
$i++;
print "Ligne $i: id=",$record->{id}, " bidule=", $record->{bidule}, " machin= ", $record->{machin},"\n";
}
Marsh Posté le 31-07-2003 à 11:24:07
pospos a écrit : ben c'est excatement pareil: |
je me suis mal exprimé : ce qui m'intéresse de récupérer, ce ne sont pas les valeurs de hash, mais les clés
Marsh Posté le 31-07-2003 à 11:37:02
bon
c la valeur que tu recupere la!
en gors:
si $record est une reference vers une hash, alors $record->{cle} te donne la valeur
en gros c'est $record = \%hash
donc $record->{cle} == $hash{cle}
tu vois?
Marsh Posté le 31-07-2003 à 11:56:29
pospos a écrit : bon |
c'est bon j'ai trouvé
merci
Marsh Posté le 13-08-2003 à 18:53:12
up du topic
je cherche maintenant à sorter ce array selon les id, ensuite les positions
avec une db et un select ca serait facile, mais faut jtravaille avec un fichier
alors j'ai mon array @records, dans lequel j'ai les hashes id, position, num, amp
jveux sorter le tout en ordre de id, puis ordre de position
ya moyen de le faire avec un sort ou faut jme fasse mon propre systeme de tri?
Marsh Posté le 14-08-2003 à 01:35:15
il faut faire une fonction de tri
regarde ce topic, le probleme est similaire:
http://forum.hardware.fr/forum2.ph [...] subcat=392
Marsh Posté le 14-08-2003 à 10:08:19
Taz a écrit : ça vous ennuie de faire des titres en français? |
Tous les programmeurs Perl ont très bien compris
d
Marsh Posté le 14-08-2003 à 10:16:56
là n'est pas la question.
t'aurais pu dire: "trier un tableau associatif"
Marsh Posté le 14-08-2003 à 15:26:30
c'est plutot "trier un tableau de hash", ou "trier un tableau de tableaux associatifs", ou "trier un tableau de references à des hashs"
there is more than one way to do it...
Marsh Posté le 30-07-2003 à 18:41:34
En gros, j'ai plusieurs enregistrements qui ont plusieurs champs
du genre, 1 enregistrement comprend un id, une position, un Ampérage
jpensais me faire un hashes avec comme clé id, position, amp
mais vu que jai plusieurs enregistrement, j'voudrais bien pouvoir les lire tous en 1 fois, fermer le fichier et ensuite faire mes boucles de traitement plutot que de lire 1 enregistrement, faire un traitement, relire un enregistrement...
vous voyez?
Message édité par burgergold le 13-08-2003 à 18:53:30