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
#!/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;
with old school perl and extend with Moose,
#!/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;
Do you have opportunity to use apply_all_roles in real world? This is just my curiosity.
I really enjoy your Moose, ternary tree, lazy worker, I learned a lot.
regards