probleme création d'un " Container "..

probleme création d'un " Container ".. - Perl - Programmation

Marsh Posté le 22-07-2002 à 10:29:45    

j'aimerais créer un "container" permettant de stocker des objets.
pour cela je voudrais utiliser un tableau indicé dont chaque référence est le nom de l'objet et sa valeur serais la "référence" ( ou "l'adresse" ) de  l'objet stocké.  
 
je suis en train de faire des tests et j'ai un probleme.
 
lorsque je stocke un objet dans le container et que je le "reprend" , lors de l apel a une methode de celui-ci, j'ai ce message d'erreur qui s'affiche:
 
Not a HASH reference at  class.pm line 34
 
voici mes codes :
 
 
sub new{
 
   my($obj)= {};
   $obj->{class}={};
   $obj->{nb}=0;
   
   bless ($obj);
   return $obj;    
}
 
 
 
 
sub testExistance{
     my $obj = shift;
   my($ret)=0;
     if (@_) {  
         $param=shift;
  if(exists ($obj->{class}{$param})){
  $ret=1;
  }  
     }  
     return $ret;
}
sub ajout{
     my $obj = shift;
     my($ret)=0;
     if (@_) {  
 $nom=shift;
 $param=shift;
 $obj->{class}{$nom}=$param;
 $obj->{nb}++;
 $ret=1;
      }
      return $ret;
}
 
sub get{
     my $obj = shift;
 $ret=undef;
     if (@_) {  
 $site=param;
 if($obj->testExistance($param)){
  $ret=obj->{class}{$param};
 }    
      }
      return bless (\$ret ,ClassParam);
}
 
 
pour les tests j'ecris ceci : ( les objets sont deja crées)
 
$cont->ajout('obj1',$obj1);
$cont->ajout('obj2',$obj2);
 
$testObj=$cont->get('obj1';);
 
$testObj->methode; # le probleme arrive a l'apel de cette methode!!
 
je pense que j'ai du faire des erreurs dans l'écriture de mon code..  
mais lesquels??
 
j'attend vos avis

Reply

Marsh Posté le 22-07-2002 à 10:29:45   

Reply

Sujets relatifs:

Leave a Replay

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