[Rio-pm] importando métodos?

Lindolfo "Lorn" Rodrigues lorn.br em gmail.com
Quinta Novembro 6 08:19:05 PST 2008


Ou em um advogado, desculpe não resisti a piada. :D

2008/11/6 Solli Honorio <shonorio em gmail.com>

> Eden, o 'use base' não resolve o problema ?
>
> Pedro eu não entendi bem o teu problema, mas se for relacionado a herança,
> você pode encontrar informações no 'perldoc perlboot'.
>
> Solli M. Honório
>
> 2008/11/5 Eden Cardim <edencardim em gmail.com>
>
> 2008/11/5 Pedro Henrique <phikeda em gmail.com>:
>> > Amigos,
>> >
>> > alguém sabe se é possível "importar" um método para dentro de um objeto?
>> Por
>> > exemplo:
>> >
>> > package AdicionaMetodo;
>> >
>> > sub importar
>> > {
>> >     my $objeto = shift;
>> >     # adiciona a sub "novo" (é possível ???)
>> > }
>> >
>> > sub novo
>> > {
>> >    print "alo, mundo!\n";
>> > }
>> >
>> > 1;
>> >
>> > package Principal;
>> > use AdicionaMetodo;
>> >
>> > sub new
>> > {
>> >     my $class = shift;
>> >     my $self = {};
>> >     bless $self, $class;
>> >
>> >     AdicionaMetodo::importar($self);
>> >     return $self;
>> > }
>> >
>> > 1;
>> >
>> > e agora no meu programa posso fazer:
>> >
>> > use Principal;
>> >
>> > my $objeto = Principal->new();
>> > $objeto->novo();  # exibe "alo, mundo!"
>> >
>> >
>> > Só consigo fazer adicionando referência à minha função, mas nesse caso o
>> > programa fica mais ou menos assim:
>> >
>> > $objeto->{novo}->();
>> >
>> > e eu queria que fosse como um método mesmo:
>> >
>> > $objeto->novo();
>> >
>> >
>> > Alguém pode me dar uma luz?
>>
>> Bom, se fosse JavaScript dava, mas no perl você só pode criar um
>> método para a classe inteira (não pro objeto), os gurus dos internals
>> podem me corrigir aqui. Mas a principal pergunta é: porque você quer
>> fazer isso?
>>
>> Um meio-termo seria criar um método de acesso que fizesse a
>> dereferenciação por você
>>
>> sub novo {
>>  shift->{novo}->(@_)
>> }
>>
>> --
>> edenc.vox.com
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
--Lindolfo "Lorn" Rodrigues
www.slackwarezine.com.br
http://lornlab.org
http://sao-paulo.pm.org
use Catalyst;
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20081106/7dfdc774/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm