Thread subroutinen für Hashes und Arrays definieren
(8 answers)
Opened by Wild.Card at 2017-10-19 16:37
Naja, Du musst Dir erstmal klar werden, was genau Du haben willst.
Willst Du einer Subroutine die gesamte Datenstruktur übergeben? Oder vielleicht nur Teile davon; z.B. die Array-Referenz in $A{konsum} ? Hier ein Beispiel, in dem die Summe und Durchschnitt für ein Array errechnet, wobei das Array als Referenz übergeben werden muss. 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 use strict; use warnings; use List::Util qw( sum ); # sub routines # ########################################################################### sub summe_und_durchschnitt { my ( $aRef, ) = @_; die "Please provide an array reference.\n" if not defined( $aRef ) or 'ARRAY' ne ref($aRef); my $summe = sum @$aRef; my $schnitt = $summe/@$aRef; return ( $summe, $schnitt ); } # main program # ########################################################################### my %A = ( name => 'Alfred', nahrung => "Sushi", konsum => [4, 2, 5, 7, 5, 3], ); # errechne Summe/Durchschnitt für $A{konsum} und gebe die Werte aus printf "Summe: %d, Schnitt: %.2f\n", summe_und_durchschnitt( $A{konsum} ); Edit/Addendum: Ich denke, sinnvoll wäre wahrscheinlich ein Ansatz, der beides berücksicht. Einen Satz Routinen, die kleine Aufgaben durchführen, wie z.B. Summe + Durchschnitt berechnen. Und dann evtl. eine Subroutine, die die gesamte Datenstruktur verarbeitet und dabei für die Teilaufgaben auf den zuvor definierten Satz Routinen zurückgreift. Last edited: 2017-10-19 16:53:33 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |