Les chaines de caracteres, les tableaux....

Les chaines de caracteres, les tableaux.... - Perl - Programmation

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

Reply

Marsh Posté le 01-04-2003 à 09:50:25   

Reply

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

Reply

Marsh Posté le 02-04-2003 à 07:52:28    

nounours a écrit :

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


 
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)


Message édité par phoenix35 le 02-04-2003 à 07:54:17
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed