Hello.
I read Moose::Manual::Roles.pod and saw the car which applied Breakable roll on the fly, like you demonstrated. I heard several times Ruby people talks something like this... I mean instance extended on the fly.
I , who have little experience for OO programing, thinks why people do like these, I would do ... say
with old school perl and extend with Moose,#!/usr/bin/perl { package TalkativeInt; use 5.010; use strict;use warnings; use base qw/Math::BigInt/; sub talk { say "I say ". $_[0]->value; } sub value { $_[0]->bstr(); } 1; } use 5.010; use strict;use warnings; my $p=TalkativeInt->new(7); $p->talk;
Do you have opportunity to use apply_all_roles in real world? This is just my curiosity.#!/usr/bin/perl { package TalkativeInt; use 5.010; use Moose; extends 'Math::BigInt'; sub talk { say "I say ". $_[0]->value; } sub value { $_[0]->bstr(); } 1; } use 5.010; use strict;use warnings; my $p=TalkativeInt->new(7); $p->talk;
In reply to Re^2: Altering the inheritance path of an object
by remiah
in thread Altering the inheritance path of an object
by citromatik
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |