Bonjour,

J'ai une "encore" une petite question de cours concernant l'utilisation de moose.

Dans le cour de djibril (que je remercie encore) on à un exemple suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#module Personne.pm
 
has nom => (
            is => 'ro', # Attribut est lisible et non modifiable
            isa => 'Str', # Valeur de l'attribut de type chaîne de caractères
            required => 1, # Attribut obligatoire
            reader => 'obtenir_nom', # Nom de l'accesseur
            trigger => sub { $NbrPersonnes++; }, # Incrémente à chaque nouvelle personne
            );
Dans ce que j'ai compris on a par exemple la méthode "'obtenir_nom" qui permet d'obtenir le nom .. ok

mais uniquement dans le module.

Car si je veux afficher le nom dans un script principal il faudra donc que je créer à nouveau une méthode pour avoir un accesseur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
#script principal
print Personne->obtenir_nom();

du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#module Personne.pm
 
# accesseur obtenir_nom
sub obtenir_nom {
                                my $this = shift;
                                return $this->{_NOM};
                        }
je trouve ça dommage du coup ou je m'y prend mal quelque chose m'échappe. J'ai l'impression que l' accesseur dans l'objet nom n'est utilisable que dans le module si je comprends bien.



Je suis en train d'apprendre, donc peut être que je me mélange les pinceaux.


Je vous remercie