Thread subroutinen für Hashes und Arrays definieren (8 answers)
Opened by Wild.Card at 2017-10-19 16:37

hlubenow
 2017-10-19 17:28
#187574 #187574
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
Ich finde, das deutet in Richtung Klasse:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/perl

use warnings;
use strict;

package Person {

    sub new { 
        my $classname = shift;
        my $args = {@_}; 
        my $self = { name => $args->{name},
                     betreff => $args->{betreff},
                     konsumref => $args->{konsumref} };
        return bless($self, $classname); 
    }           

    sub showKonsum {
        my $self = shift;
        my @konsum = @{$self->{konsumref}};
        my $i;
        print "\n";
        print $self->{betreff} . ":\n";
        print "Konsum ist:\n";
        for $i (@konsum) {
            print "$i\n";
        }
        print "\n";
        print "Summe Konsum: " . $self->getSum() . "\n";
        print "Durschnittlich: " . $self->getAverageKonsum() . "\n\n";
    }

    sub getSum  {
        my $self = shift;
        my @konsum = @{$self->{konsumref}};
        my $sum = 0;
        my $i;
        for $i (@konsum) {
            $sum += $i;
        }
        return $sum;
    }

    sub getAverageKonsum  {
        my $self = shift;
        my @konsum = @{$self->{konsumref}};
        my $konsumlen = @konsum;
        my $sum = $self->getSum();
        return $sum / $konsumlen;
    }

}

my $A = Person->new(name => "Alfred",
                    betreff => "Monatliche Sushibarbesuche im halben Jahr", 
                    konsumref => [4, 2, 5, 7, 5, 3]);
$A->showKonsum();

Näheres wäre hier.

View full thread subroutinen für Hashes und Arrays definieren