Les chaines de caracteres, les tableaux.... - Perl - Programmation
Marsh Posté le 01-04-2003 à 20:02:07
dans ton exemple, $toto{a}{b}{c} n'est pas un tableau à 3 dimensions, mais un hash de hash de hash, grosse nuance
il faut écrire $toto[a][b][c]
heu, sinon je sais pas comment connaître la longueur de chaque dimension mais dis-moi, pourquoi cherche tu à connaitre le nbre d'éléments de chaque dimension ???
Ne serait-ce pas plutôt savoir combien chaque tableau a d'éléments que tu cherches ???
là aussi, grosse nuance car un tableau à 3 dimensions, c'est un tableau de tableaux de tableaux, PAS 3 tableaux
Marsh Posté le 02-04-2003 à 07:52:28
nounours a écrit : En PERL, |
Tout d'abord comme la dit Aricoh:
-1 $toto{a}{b}{c} : c'est un hash de hash de hash
-2 c'est un tableau de tableau de tableau
Sinon si c'est bien d'un tableau (array) que tu veux parler.
Tu peux avoir l'indice maximum d'un tableau avec la notaion $#tableau auquel il suffit de faire +1 si tu veux le nombre d'element.
Ce qui donne:
- $#toto+1 pour le nombre d'elements du premier tableau (en gros ta taille en x)
- $#{$toto[3]}+1 pour nombre d'elements du tableau se trouvant dans le 4e tableau du tableau general (en gros ta taille en y pour x=3)
- $#{$toto[3][6]}+1, la ca devient complique a formuler en francais, alors on va dire en gros la taille en z pour x=3 et y=6.
NB: je suis parti de l'hypothese que le tableau @$toto[3][6] existe, si ta "matrice" n'est pas de forme reguliere il faut faire des tests style defined($toto[3][6])
Pour beaucoupplus d'infos, je te conseille http://www.enstimac.fr/Perl/DocFr/perllol.html (tutorial de perl en francais sur la manipulation de tableau de tableau, ps le "lol" c'est pas une blague)
Marsh Posté le 01-04-2003 à 09:50:25
En PERL,
si on a un tableau à 3 dimension, comment recupere-t-on les 3 tailles, de chaque dimension ?
@toto=[];
$toto{a}{b}{c}="truc";
etc...
taille en x ??? taille en y ???? taille en z ?????
Merci