[Rio-pm] Objetos Moose vs NonMoose
Blabos de Blebe
blabos em gmail.com
Quarta Setembro 12 07:32:59 PDT 2012
> Módulos criados com bless possuem um modelo diferente dos módulos que
> utilizam o Moose, certo?
Hein? Defina modelo.
> Alguém pode falar mais sobre objetos Moose vs NonMoose?
http://www.onyxneon.com/books/modern_perl/index.html
2012/9/12 Junior Moraes <juniiior182 em gmail.com>:
> Hi.
>
> Módulos criados com bless possuem um modelo diferente dos módulos que
> utilizam o Moose, certo?
> Na verdade não sei, mas era o que eu achava até então.
>
> Sempre achei que sendo diferentes, pra utilizarmos herança, o modelo do
> package seria incompatível um com o outro, e pra isso eu utilizava o módulo
> MouseX::NonMoose.
>
> Eis que fuçando um pouco o módulo Badger::Log::File, experimentei testar os
> method modifiers pra jogar a saída também pro STDERR:
>
> extends 'Badger::Log::File';
>
> after qw {
> info
> debug
> warn
> fatal
> error
> } => sub {
> say STDERR $_[1];
> };
>
> Eis que fui ver a lista de deps do Badger::Log::File, e é gigante... Só que
> sem o Moose! Logo, pensei que isso não funcionaria mas funciona!
>
> Pra ilustrar melhor a situação:
>
> package Fvox;
> use common::sense;
> sub new {
> bless {}, shift;
> }
>
> sub execute {
> my $self = shift;
> say 'Do...';
> }
>
> 1;
>
> package Junior;
>
> use Moose;
> extends 'Fvox';
>
> after 'execute' => sub {
> say STDERR 'It works?!';
> };
>
> 1;
>
> my $fx = new Junior();
> $fx->execute();
>
>
>
>
> Alguém pode falar mais sobre objetos Moose vs NonMoose?
> Quais as incompatibilidades que eu poderia enfrentar, se isso não funcionava
> numas versões anteriores, etc?
>
> --
>
> ______________________
> < Junior "fvox" Moraes >
> ----------------------
> \
> \
> .--.
> |o_o |
> |:_/ |
> // \ \
> (| | )
> /'\_ _/`\
> \___)=(___/
>
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
Mais detalhes sobre a lista de discussão Rio-pm