Abstract type: Difference between revisions

Content deleted Content added
No edit summary
Added examples using Yadda Yadda Yadda and Role::Tiny
Line 1,274:
 
1;</lang>
Since Perl 5.12, the Yadda Yadda operator (...) dies with an Unimplemented error,
 
<lang perl>
package AbstractFoo;
use strict;
sub frob { ... }
sub baz { ... }
sub frob_the_baz {
my $self = shift;
$self->frob($self->baz());
}
 
1;
</lang>
Perl 6 inspired roles are provided by the [http://search.cpan.org/perldoc?Moose Moose] library
 
Line 1,279 ⟶ 1,296:
 
use Moose::Role;
 
requires qw/frob baz/;
 
sub frob_the_baz {
my $self = shift;
$self->frob($self->baz());
}
 
1;</lang>
Roles are also provided in a more lightweight form with [http://search.cpan.org/perldoc?Role::Tiny Role::Tiny] library
 
<lang perl>package AbstractFoo;
 
use Role::Tiny;
 
requires qw/frob baz/;