[SP-pm] Módulo
Thomas Britis
thomas em tcnet.com.br
Terça Março 13 15:39:05 PDT 2007
Luis,
Desculpe pelo atraso na resposta, é que fiquei entretido em outros
projetos e acabei não podendo voltar a esse.
Só uma pequena dúvida que fiquei, aqui:
Luis Motta Campos wrote:
> Claro que não.
> Num caso, você tem retornos numéricos (e eu presumo que assuma e
> teste retornos numéricos em algum lugar do seu código, certo?)
> No outro caso, você tem retorno objetivo - o efeito colateral mais
> importante disto é que te permite encadear chamadas a outros métodos,
> assim:
>
> $obj->method()->method2()->method3();
Minha dúvida é: como posso fazer esse encadeamento? Pensei em algo como:
MODULO.pm:
package MODULO;
use strict;
use MODULO2;
sub new {
my $proto = shift;
my $class = ref $proto || $proto;
my $self = bless {} => $class;
return $self;
}
sub test {
my $self = shift;
my $mod2 = MODULO2->new();
bless $mod2;
$self->mod2 = $mod2;
}
teste.pl:
use MODULO;
my $mod1 = MODULO->new();
# Chamar funcao bizarre() do modulo2:
$mod1->mod2->bizarre();
Ou ainda, com uma pequena alteração, eu ter mais uma função no
MODULO.pm, com o seguinte conteúdo:
sub mod1_bizarre {
my $self = shift;
return $self->mod2->bizarre();
}
e chamá-la do teste.pl como:
$mod1->mod1_bizarre;
Estou dando uma estudada em alguns artigos, porém fiquei com dúvidas
nesse sentido, se é possível isso.
Obrigado.
--
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA
Mais detalhes sobre a lista de discussão SaoPaulo-pm