Les tableaux
Résolu
Synerz
Messages postés
1341
Statut
Membre
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
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
--
Un peu d'aide contre un topic résolu !
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
--
Un peu d'aide contre un topic résolu !
A voir également:
- Les tableaux
- 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 excel - Guide
- Fusionner deux tableaux word ✓ - Forum Excel
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