Comment puis-je imprimer un tableau à deux dimensions en Perl?
J'ai un 2 dimensions tableau. Lorsque j'imprime/Dump cela, je reçois le
Mes 2 dim tableau:
push (@matrix, \@a1Comparea2);
push (@matrix, \@a3Comparea4);
a1Comparea2 devrait être la première ligne du tableau
a3Comparea4 devrait être la deuxième ligne de la matrice de
$VAR1 = [
[
'1 6',
'2 7',
'3 8',
'4 9',
'5 10'
],
$VAR1->[0],
$VAR1->[0],
$VAR1->[0],
$VAR1->[0],
[
'7 12',
'8 13',
'9 14',
'10 15',
'11 16'
],
$VAR1->[5],
$VAR1->[5],
$VAR1->[5],
$VAR1->[5]
];
Lorsque j'essaie d'imprimer ce avec le code suivant:
for (my $j= 0; $j < $rows; $j++)
{
for (my $k= 0; $k < @a1; $k++)
{
print "Row:$j Col:$k = $matrix[$j][$k]\n";
}
}
J'obtiens le résultat suivant:
Row:0 Col:0 = 1 6
Row:0 Col:1 = 2 7
Row:0 Col:2 = 3 8
Row:0 Col:3 = 4 9
Row:0 Col:4 = 5 10
Row:1 Col:0 = 1 6
Row:1 Col:1 = 2 7
Row:1 Col:2 = 3 8
Row:1 Col:3 = 4 9
Row:1 Col:4 = 5 10
Comme vous pouvez le voir, les données sont dupliquées.
Les éléments de la matrice qui lit "$VAR->[0]" " et " $VAR->[5] est Data::Dumper la façon de le dire il y a plusieurs copies de la même chose dans votre structure de données. Si vous publiez plus initialiazing code, ça pourrait aider. Comment est a1Comparea2 défini?
j'ai donc fait quelques recherches autour de. Ma matrice est formée par pusshing références de tableau. Les données sont dupliquées si les tableaux sont poussés de manière séquentielle dans une boucle. mais si je declare @matrice = (\@tableau array1, \@matrice2) alors tout va bien. savoir pourquoi?
Montrez-nous votre boucle.
Rob: poste le code qui crée le tableau. Alors quelqu'un doit être en mesure de vous aider. Vous devriez aussi regarder à deux tutoriels en Perl documentation interne:
j'ai donc fait quelques recherches autour de. Ma matrice est formée par pusshing références de tableau. Les données sont dupliquées si les tableaux sont poussés de manière séquentielle dans une boucle. mais si je declare @matrice = (\@tableau array1, \@matrice2) alors tout va bien. savoir pourquoi?
Montrez-nous votre boucle.
Rob: poste le code qui crée le tableau. Alors quelqu'un doit être en mesure de vous aider. Vous devriez aussi regarder à deux tutoriels en Perl documentation interne:
perldoc perllol
et perldoc perldsc
. Ils sont en ligne: perldoc.perl.org/perllol.html et perldoc.perl.org/perldsc.html
OriginalL'auteur | 2009-07-11
Vous devez vous connecter pour publier un commentaire.
Est vous tableau correctement défini?
Vous utilisez un
@
pour tableau et un$
scalaires...Cochez cette article pour une référence rapide.
Que l'article donne cet exemple simple.
Cela crée un tableau avec quatre lignes et trois colonnes. Pour imprimer les éléments du tableau, type:
Vous avez laissé quelque chose. Vous ajoutez du tableau deux refs, mais votre dump montre clairement plus que cela.
Je présume que vous vous adressez à des
rob
qui a écrit la question.OriginalL'auteur nik
Êtes-vous sûr que vous avez utilisé le code que vous a montré ci-dessus?
Peut-être que vous avez utilisé quelque chose comme:
$not_j
d'évaluer toujours à 0, la production de votre sortie.OriginalL'auteur Curd