3 ms·
A simple point class looks like this: class Point { has [qw/x y/] => ( default => sub { 0 } ); sub clear ($self) { $self->@{ 'x', 'y'
by orf 4y ago
A simple point class looks like this:
class Point {
has [qw/x y/] => ( default => sub { 0 } );
sub clear ($self) {
$self->@{ 'x', 'y' } = ( 0, 0 );
}
}
What?
- uhtred 4y agowho cares about classes though? OOP is literally the most boring thing in programming, and the stuff Perl is awesome at doesn't require OOP. If you want classes go use java or C#, the second and third most boring things in programming.
- sarabob 4y agoNot quite - that was his initial implementation which he described as "That’s not good at all, but I was trying to work within Perl’s limitations". The corinna syntax is class Point { field ( $x, $y ) :param = 0; method clear () { ( $x, $y ) = ( 0, 0 ); } }
- rurban 4y agoMaybe he meant class Point { has $x = 0; has $y = 0; sub clear { $x = $y = 0; } } At least that's how I implemented it in the future perl, called cperl. Designed with perl6. His perl cannot have array or hash fields, and his fields are still hash keys. Wtf