procedure : passage de parametre

procedure : passage de parametre - Perl - Programmation

Marsh Posté le 22-04-2004 à 10:23:57    

comment je pe faire pour passer un tableau dans les parametres d'une procedure et surtout le recuperer !!


---------------
Un pti pet' pour etre une mouette ... fini les prises de tete
Reply

Marsh Posté le 22-04-2004 à 10:23:57   

Reply

Marsh Posté le 22-04-2004 à 13:28:22    

Code :
  1. mafonction(@array);
  2. sub mafonction {
  3.   my @array = @_;
  4. }

Reply

Marsh Posté le 22-04-2004 à 13:49:24    

merci mais qd on a plusieurs parametres differents :
genre :  
mafonction($scalaire, @tbl1dimension, @tbl2dimensions)


---------------
Un pti pet' pour etre une mouette ... fini les prises de tete
Reply

Marsh Posté le 22-04-2004 à 13:53:23    

tu peux pas passer plusieurs array comme ca, dans ta fonction tu ne peux que récupérer la totalité (@_) ou un élément (shift);
 
passe les références sinon

Reply

Marsh Posté le 22-04-2004 à 14:06:50    

qu'est ce que tu entends par reference ca fait plusieurs fois qu'on m'en parles mais je ne comprends pa est ce que tu pe m'expliquer


---------------
Un pti pet' pour etre une mouette ... fini les prises de tete
Reply

Marsh Posté le 23-04-2004 à 00:06:10    

une référence c'est l'adresse en mémoire
 
$ref = \@array;
 
$ref est la référence à @array
 
tu peux utiliser les différentes "cases" de celui-ci de cette facon
 
$ref->[0] (équivalent à $array[0])


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 23-04-2004 à 09:37:45    

ok merci mais on m'a trouve une autre solution : plutot que de s'embeter avec les references il fo utiliser le dereferencement :
d'abord on recupere la ref : $ref= shift @_;
et ensuiste on deref : @tbl = @$ref;
et ca marche nickel et pour l'exploitation c bcp plus simple que d'utiliser des pointeurs (les references sont ou fonctionnent comme des pointeurs apparemment)

Reply

Marsh Posté le 23-04-2004 à 12:00:32    

DemonEyesKyo a écrit :

ok merci mais on m'a trouve une autre solution : plutot que de s'embeter avec les references il fo utiliser le dereferencement :
d'abord on recupere la ref : $ref= shift @_;
et ensuiste on deref : @tbl = @$ref;
et ca marche nickel et pour l'exploitation c bcp plus simple que d'utiliser des pointeurs (les references sont ou fonctionnent comme des pointeurs apparemment)


 
une référence c'est un pointeur  :sarcastic:


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 23-04-2004 à 12:02:18    

c bien ce que j'avais compris mais merci de me le confirmer

Reply

Sujets relatifs:

Leave a Replay

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