Re: Re: [l-desarrollo] Anular una función en Perl

Alejandro Imass ait at linuxmail.org
Mon Apr 7 13:35:00 CDT 2003


> 
> Perl permite el encapsulamiento pero no lo impone.
> 

Oye vale, tremenda aclaratoria. Gracias.
Había visto lo del Exporter el fín de semana y es super poderoso (lo de por default o por request).


Gracias,
ait



----- Original Message -----
From: Ernesto Hernandez-Novich <emhn at telcel.net.ve>
Date: Mon, 7 Apr 2003 14:20:26 -0400 (VET)
To: <caracas-pm-list at pm.org>
Subject: Re: Re: [l-desarrollo] Anular una función en Perl

> On Tue, 8 Apr 2003, Alejandro Imass wrote:
> > Mi ambigüedad con el timino ``método'' es justamente por el arroz con
> > mango que hay en SL a veces (y que Perl  amablemente permite). Tienes
> > toda la razón sobre que los mitodos deberman estar en espacio de nombres
> > distintos pero aún ignoro como lo maneja Perl, como te puedes dar cuenta,
> > no he estudiado mucho los objetos en Perl.
> 
> package Foo;
> 
> defiene el espacio de nombres Foo, hasta que se defina otro espacio de
> nombre o hasta que termine el archivo.
> 
> package Foo;
> sub x {
>   print "Foo!\n";
> }
> package Bar;
> sub x {
>   print "Bar!\n";
> }
> package main;
> Foo::x();
> Bar::x();
> 
> Declarar un package _no_ convierte el programa en orientado a objetos;
> simplemente declara un espacio nuevo de nombres. Ese espacio nuevo de
> nombres puede o no ser un Exporter; en caso afirmativo quiere decir que
> tienes la potestad de escoger cuáles nombres del espacio son exportados
> a usuarios, en caso negativo todos los nombres son exportados.
> 
> Para que un package ayude en el manejo de objetos, es necesario que se
> construyan referencias a "algo" que hayan sido bendecidas con el nombre
> de la clase, que se acostumbra sea el espacio de nombres.
> 
> package Foo;
> sub new {
>   my $self = { prop1 => 'val1',
>                prop2 => 'val2', ...
> 	     };
>   bless $self,'Foo';
>   return $self;
> }
> package main;
> my $foo = new Foo;    # o bien Foo->new
> 
> Perl permite el encapsulamiento pero no lo impone.
> 
> man perltoot
> -- 
> Ernesto Hernández-Novich - Running Linux 2.4.19 i686 - Unix: Live free or die!
> Geek by nature, Linux by choice, Debian of course.
> If you can't apt-get it, it isn't useful or doesn't exist.
> GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
> ¿Sabe leer? Elimine mi firma de sus respuestas; sé quién soy ;)
> 
> ------------------------------------------------------------------------
> Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
> "UNSUBSCRIBE caracas-pm-list" para desuscribirse.
> "INFO caracas-pm-list" para conocer las reglas de etiqueta.
> ------------------------------------------------------------------------
> 

-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list