Thread Modul: Methode und Subroutine mit dem gleichen Namen (3 answers)
Opened by Kuerbis at 2014-02-14 19:09

Kuerbis
 2014-02-14 19:09
#173542 #173542
User since
2011-03-20
947 Artikel
BenutzerIn
[default_avatar]
Hallo!

Ich habe versucht CPAN:Term::Choose nach OO umzuschreiben.
Dabei möchte ich den bisherigen Aufruf my $choice = choose( [1,2,3] ); beibehalten und die neue Methode auch choose nennen.
Das habe ich versucht (vereinfacht):


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env perl
use warnings;
use strict;
use 5.10.0;

my $new = Term_Choose->new();
say $new->choose( 1, 2 );
say Term_Choose::choose( 4, 6 );

package Term_Choose;

sub new {
    my $class = shift;
    my $self = {};
    return bless $self, $class;
}

sub choose {
    my $n = Term_Choose->new();
    $n->choose( 1, 1, @_, 2, 2 );
}

{
    no warnings 'redefine';
    sub choose {
        my $self = shift;
        return @_;
    }
}

1;


Ist sowas böse?
Und warum gibt say Term_Choose::choose( 4, 6 ); nur 6 zurück?

View full thread Modul: Methode und Subroutine mit dem gleichen Namen