3 ms·
Moose (http://moose.perl.org http://moose.perl.org) also provides the same mechanism via augment/inner. Here is one of the examples in Perl/Moose: package G
by draegtun 14y ago
Moose (http://moose.perl.org http://moose.perl.org) also provides the same mechanism via augment/inner.
Here is one of the examples in Perl/Moose:
package GameObject {
use Moose;
has ['x', 'y'] => (is => 'rw', isa => 'Num');
sub render {
my ($self, $renderer) = @_;
$renderer->set_transform( $self->x, $self->y );
inner;
}
}
package ScaryMonster {
use Moose;
extends 'GameObject';
augment render => sub {
my ($self, $renderer) = @_;
$renderer->draw_image(Images->scary_monster);
};
}
refs:
- https://metacpan.org/module/DOY/Moose-2.0604/lib/Moose/Manual/MethodModifiers.pod https://metacpan.org/module/DOY/Moose-2.0604/lib/Moose/Manua...
- https://metacpan.org/module/DOY/Moose-2.0604/lib/Moose/Cookbook/Basics/Document_AugmentAndInner.pod https://metacpan.org/module/DOY/Moose-2.0604/lib/Moose/Cookb...