ich versuche gerade ein wenig Perl zu lernen. Die Aufgabe ist die Elemente einer Liste herauszufinden, die über dem Durchschnitt liegen. Ich habe dazu drei Funktionen. Die ersten zwei:
sub gesamt { my $summe = 0; foreach (@_) { $summe += $_; } return $summe; } sub durchschnitt { if (@_ == 0) {return} &gesamt(@_) / @_; }
Die hat das Buch auch so ungefähr. Ich schreibe jetzt:
sub ueber_durchschnitt { my @ueber; my $durch = &durchschnitt(@_); foreach (@_) { if ($_ > $durch) { unshift(@ueber, $_); } } return @ueber; }
Das Buch sagt aber:
sub ueber_durchschnitt { my $durchschnitt = &durchschnitt(@_); my @liste; foreach $element (@_) { if ($element > $durchschnitt) { push @liste, $element; } } @liste; }
Jetzt sagt das Buch:
Zitat
Warum wird hier als Kontrollvariable wohl $element benutzt und nicht Perls beliebte Standardvariable $_?
Das scheint irgendwie ironisch gemeint zu sein, denn eine Antwort steht nirgends. Warum ist es denn nicht schlau $_ zu benutzen? Kann mich da jemand aufklären? Wär super. :)
Viele Grüße
PelzigesWaldtier
Dieser Beitrag wurde von PelzigesWaldtier bearbeitet: 18. Mai 2007 - 11:46