Les tableaux
Résolu
Synerz
Messages postés
1341
Statut
Membre
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,
Je travaille sur du Perl en ce moment puisque j'en ai besoin pour mes futurs cours mais j'ai une question.
Est ce que "Foreach" fonctionne pour afficher un tableau à plusieurs entrés ? Exemple
Quand j’exécute ce programme j'ai cette erreur : "ARRAY(0xe5b358)ARRAY(0xe5b508)ARRAY(0xd047f8)"
Il y a surement une autre façon de faire non ?
Merci d'avance
Je travaille sur du Perl en ce moment puisque j'en ai besoin pour mes futurs cours mais j'ai une question.
Est ce que "Foreach" fonctionne pour afficher un tableau à plusieurs entrés ? Exemple
use strict;
use warnings;
my @noms = (
[ "fred", "barney" ],
[ "george", "jane", "elroy" ],
[ "homer", "marge", "bart" ],
);
foreach my $n (@noms) {
print $n;
}
<>
Quand j’exécute ce programme j'ai cette erreur : "ARRAY(0xe5b358)ARRAY(0xe5b508)ARRAY(0xd047f8)"
Il y a surement une autre façon de faire non ?
Merci d'avance
A voir également:
- Les tableaux
- Les tableaux word - Guide
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Triez le tableau pour que les villes les plus peuplées soient en haut - Guide
- Le fichier contient un tableau affichant la taille des populations des 419 communes de l’ain. triez le tableau pour que les villes les plus peuplées soient en haut. quel mot est formé par les 9 premières lettres de la colonne indice ? ✓ - Forum C
1 réponse
Salut,
Désolé de la réponse tardive.
Tu as un tableau qui contient 3 tableaux. Les 3 éléments qui sont affichés par ta boucle sont des références à ces tableaux.
Pour afficher les tableaux pointés par ces références, il suffit d'utiliser l'opérateur @ pour les déréférencer et de faire un foreach sur chaque tableau.
Comme cela :
Alternativement, tu peux installer List::Flatten avec CPAN, et tu pourras "aplatir" une liste qu'elle contienne ou pas des tableaux dans tout ou partie de ses éléments (ou List::Flatten::Recursive si tu peux avoir des tableaux de tableaux de tableaux...).
Dal
Désolé de la réponse tardive.
Tu as un tableau qui contient 3 tableaux. Les 3 éléments qui sont affichés par ta boucle sont des références à ces tableaux.
Pour afficher les tableaux pointés par ces références, il suffit d'utiliser l'opérateur @ pour les déréférencer et de faire un foreach sur chaque tableau.
Comme cela :
#!/usr/bin/perl
use strict;
use warnings;
my @noms = (
[ "fred", "barney" ],
[ "george", "jane", "elroy" ],
[ "homer", "marge", "bart" ],
);
foreach my $n (@noms) {
foreach my $o (@$n) {
print $o . "\n";
}
}
Alternativement, tu peux installer List::Flatten avec CPAN, et tu pourras "aplatir" une liste qu'elle contienne ou pas des tableaux dans tout ou partie de ses éléments (ou List::Flatten::Recursive si tu peux avoir des tableaux de tableaux de tableaux...).
Dal