Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^4: Inherit custom sort method from base class

by AnomalousMonk (Archbishop)
on Oct 02, 2013 at 00:30 UTC ( [id://1056558]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Inherit custom sort method from base class
in thread Inherit custom sort method from base class

Here's another, slightly different approach to what vsespb is talking about. (But I still don't understand how
    $self->specialSort(my ($a, $b))
works!)

>perl -wMstrict -le "{ package Base; ;; sub new { my $class = shift; return bless({} => $class)->init(@_); } ;; sub init { my $self = shift; @{ $self->{things} } = (qw(a E d Bee Z cee d C zee E eks), @_); return $self; } ;; sub print { my $self = shift; CORE::print qq{@{ $self->{things}} }; } ;; sub nocase_descending { my $class_obj = shift; return lc($_[1]) cmp lc($_[0]); } ;; } ;; ;; { package Derived; use parent -norequire, qw(Base); ;; sub sort { my $self = shift; return CORE::sort { $self->nocase_descending($a, $b) } @{ $self->{things} } ; } ;; } ;; ;; my $d = Derived->new(qw(SS r QQ p PP q RR s)); ;; $d->print; ;; my @sorted = $d->sort; print qq{@sorted}; ;; @sorted = sort @{ $d->{things} }; print qq{@sorted}; ;; print $d; " a E d Bee Z cee d C zee E eks SS r QQ p PP q RR s zee Z SS s RR r QQ q PP p eks E E d d cee C Bee a Bee C E E PP QQ RR SS Z a cee d d eks p q r s zee Derived=HASH(0x1e931f4)

Update: Moved  print method from  Derived class 'up' into  Base class (just because I can).

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1056558]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (5)
As of 2024-04-19 10:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found