Ou em um advogado, desculpe não resisti a piada. :D<br><br><div class="gmail_quote">2008/11/6 Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<span style="font-family: courier new,monospace;">Eden, o 'use base' não resolve o problema ?</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Pedro eu não entendi bem o teu problema, mas se for relacionado a herança, você pode encontrar informações no 'perldoc perlboot'.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Solli M. Honório</span><br style="font-family: courier new,monospace;"><br><div class="gmail_quote">2008/11/5 Eden Cardim <span dir="ltr"><<a href="mailto:edencardim@gmail.com" target="_blank">edencardim@gmail.com</a>></span><div>
<div></div><div class="Wj3C7c"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2008/11/5 Pedro Henrique <<a href="mailto:phikeda@gmail.com" target="_blank">phikeda@gmail.com</a>>:<br>
<div><div></div><div>> Amigos,<br>
><br>
> alguém sabe se é possível "importar" um método para dentro de um objeto? Por<br>
> exemplo:<br>
><br>
> package AdicionaMetodo;<br>
><br>
> sub importar<br>
> {<br>
> my $objeto = shift;<br>
> # adiciona a sub "novo" (é possível ???)<br>
> }<br>
><br>
> sub novo<br>
> {<br>
> print "alo, mundo!\n";<br>
> }<br>
><br>
> 1;<br>
><br>
> package Principal;<br>
> use AdicionaMetodo;<br>
><br>
> sub new<br>
> {<br>
> my $class = shift;<br>
> my $self = {};<br>
> bless $self, $class;<br>
><br>
> AdicionaMetodo::importar($self);<br>
> return $self;<br>
> }<br>
><br>
> 1;<br>
><br>
> e agora no meu programa posso fazer:<br>
><br>
> use Principal;<br>
><br>
> my $objeto = Principal->new();<br>
> $objeto->novo(); # exibe "alo, mundo!"<br>
><br>
><br>
> Só consigo fazer adicionando referência à minha função, mas nesse caso o<br>
> programa fica mais ou menos assim:<br>
><br>
> $objeto->{novo}->();<br>
><br>
> e eu queria que fosse como um método mesmo:<br>
><br>
> $objeto->novo();<br>
><br>
><br>
> Alguém pode me dar uma luz?<br>
<br>
</div></div>Bom, se fosse JavaScript dava, mas no perl você só pode criar um<br>
método para a classe inteira (não pro objeto), os gurus dos internals<br>
podem me corrigir aqui. Mas a principal pergunta é: porque você quer<br>
fazer isso?<br>
<br>
Um meio-termo seria criar um método de acesso que fizesse a<br>
dereferenciação por você<br>
<br>
sub novo {<br>
shift->{novo}->(@_)<br>
}<br>
<font color="#888888"><br>
--<br>
<a href="http://edenc.vox.com" target="_blank">edenc.vox.com</a><br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</font></blockquote></div></div></div><font color="#888888"><br><br clear="all"><br>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>
</font><br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>--Lindolfo "Lorn" Rodrigues<br><a href="http://www.slackwarezine.com.br">www.slackwarezine.com.br</a><br>
<a href="http://lornlab.org">http://lornlab.org</a><br><a href="http://sao-paulo.pm.org">http://sao-paulo.pm.org</a><br>use Catalyst;<br>