Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2920 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Utiliser un tableau d'une subroutine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] Utiliser un tableau d'une subroutine

n°422342
urd-sama
waste of space
Posté le 10-06-2003 à 11:50:25  profilanswer
 

bonjour
voilà mon petit problème.
en résumé, je remplis un tableau @table dans une subroutine.
en voulais afficher les éléments de ce tableau dans mon prog principal, il ne m'affiche que le dernier.
j'ai essayé de mettre un return @table à la fin de ma subroutine, mais rien à faire.
doit-on comme d'autres langages déclarer ce tableau en global? je n'ai rien trouvé dans mes différents livres là-dessus.
si qqun pouvait m'éclairer car je patauge.
merci d'avance


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
mood
Publicité
Posté le 10-06-2003 à 11:50:25  profilanswer
 

n°423259
pospos
Posté le 10-06-2003 à 22:08:02  profilanswer
 

pourtant ca doit marcher:
 

Code :
  1. my @tab = genere_tableau();
  2. print join("\n", @tab);
  3. sub genere_tableau {
  4.     my @table = (10,50,60,80,90);
  5.     return @table;
  6. }


 
ou par reference (plus efficace au niveau memoire):

Code :
  1. my $tab_ref = genere_tableau();
  2. print join("\n", @{$tab_ref});
  3. sub genere_tableau {
  4.     my @table = (10,50,60,80,90);
  5.     return \@table;
  6. }

n°423383
urd-sama
waste of space
Posté le 11-06-2003 à 06:59:25  profilanswer
 

je me suis penchée sur le problème hier, et en fait c'était un peu plus compliqué que ca.
j'utilise la fonction find, de cette facon (dans le main):
find(\&tab, $path1);
dans la fonction tab, je mets des valeurs dans le dit tableau, mais en le retournant ca ne fonctionnera pas.
J'ai donc déclaré et utilisé le dit tableau en global, meme si ce n'est peut-etre pas la solution la plus propre  [:spamafote]  
merci quand meme pour ton message  :jap:


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°423399
pospos
Posté le 11-06-2003 à 08:24:09  profilanswer
 

c'est le find de File::Find?
 
en premier argument tu dois effectivement passer une ref à une fonction qui recupere le nom du fichier. Et c'est ce nom que tu veux ranger dans un tabkleau pour le recuperer apres c'est ca?
Effectivement dans ce cas tu peuxfaire un truc du genre:
 

Code :
  1. my @tableau;
  2. find(\&tab, $path1);
  3. print "Fichier:\n", join("\n", @tableau);
  4. sub tab {
  5.        push @tableau, $_; # ou $File::Find::name pour avoir le nom complet
  6. }


 
mais tu peux aussi faire ca:
 

Code :
  1. my @tableau;
  2. find(sub{&tab(\@tableau)}, $path1);
  3. print "Fichier:\n", join("\n", @tableau);
  4. sub tab {
  5.        my $tab_ref = shift;
  6.        push @{$tab_ref} , $_;
  7. }


Message édité par pospos le 11-06-2003 à 08:25:56

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Utiliser un tableau d'une subroutine

 

Sujets relatifs
Problème avec un tableau HTML dynamique[HTML] Cellule de tableau qui utilise la largeur restante
tableau sans tableau en css ....Meilleure méthode pour utiliser un vecteur dans une fonction
Utiliser un Canvas pour dessiner dedant, et générer une Image[PHP] Insertion d'un tableau dans un tableau
Problème de tableau dynamique[Perl] Afficher seulement 2 chiffre après la virgule
probleme d'affichage tableauscript perl / script php: lequel est le plus rapide??
Plus de sujets relatifs à : [Perl] Utiliser un tableau d'une subroutine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR