[Marseille-pm] YAPC::Europe
arnaud.assad at free.fr
arnaud.assad at free.fr
Sat Apr 19 10:10:52 CDT 2003
On Wed, Apr 16, 2003 at 06:02:50PM +0200, Robert silve wrote:
> Salut m'sieur Arnaud :))
Salut TexMec !
j'attends tjrs un petit texte pour mettre sur marseille.pm.org ;-)
>
> On Wed, Apr 16, 2003 at 03:06:53PM +0200, arnaud.assad at free.fr wrote:
> > Juste un petit mail, pour :
> > 1) Vous signaler que la préinscription pour YAPC::Europe::Paris est
> > effective (http://yapc.mongueurs.net/yapc/join/)
> > Quels sont ceux d'entre vous qui comptent y aller ?
> > (Moi, j'y serai)
> Moi j'ai toujours pas aborde le point des vacances (delicat
> s'il en est) avec le boss. Mais j'aimerais bien y passer une
> journee. Je vais essayer d'organiser ca la semaine prochaine.
Tiens moi au courant...
> > Pas de questions ? de trouvailles à faire partager ? Pas de projet ?
> Rien d'aussi grandiose, par contre apres la lecture de l'apocalypse 6
> j'avoue que j'etait perplexe mais apres le synopsis 6 alors la
> je suis carrement enthousiate !! Je trouve que les choses deviennent
> carrement amusante.
ahah !
Perl rules ! And Perl 6 rules even more !!!
> Ah si j'ai une question puisqu'on en parle : j'ai essaye de comprendre
> le module Class::Data:Inheritable (je doit le reprendre en parti pour
> une appli tournant sur une machine ou il n'est pas installe et
> ou je n'est pas la main). Je dois avoue que je suis toujours incapable
> de comprendre une malheureuse ligne :
> return $wantclass->mk_classdata($attribute)->(@_)
> dans le function mk_classdata
huh !?!
C'est du Damian...
A première vue :
On returne une référence vers une fonction appellée avec @_ comme argument...
Ca ressemble à une closure...
L'idée est je crois de mettre dans $accessor la closure (réfrence vers du
code avec un "environement lexical "sauvegardé"") pour pouvoir ensuite
(comme il est indiqué dans la doc) appeler la fonction par 2 noms :
*{$declaredclass.'::'.$attribute} = $accessor;
*{$declaredclass.'::'."_${attribute}_accessor"} = $accessor;
Si attribute = Suitcase
alors tu peux utiliser Suitcase ou _Suitcase_accessor pour appeler la même
fonction (si tu veux la redéfinir et conserver une version héritée...)
Ca aurait été une bonne question pour la mailinglist...
;-)
> en fait je ne voit pas ce que fait cette ligne et en particulier
> comment marche cette notation "mk_classdata($attribute)->(@_)" qui
> me semble bizarre vu le reste du module.
Si tu regardes la dernière ligne de mk_classdata tu vois que ca retourne une
code ref
donc mk_classdata($attribute)->(@_) est un appel de fonction avec @_ comme
paramètre...
Arnaud.
More information about the Marseille-pm
mailing list