Skip to content

Instantly share code, notes, and snippets.

@draegtun
Created June 9, 2009 22:24
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save draegtun/126849 to your computer and use it in GitHub Desktop.
use MooseX::Declare;
role DoesNegated {
method negated { $self->new( x => -$self->x, y => -$self->y ) }
}
role DoesTranspose {
method transpose { $self->new( x => $self->y, y => $self->x ) }
}
class Point with DoesNegated with DoesTranspose {
has x => ( isa => 'Int', is => 'rw' );
has y => ( isa => 'Int', is => 'rw' );
method inspect { say $self->x . ' @ ' . $self->y }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment