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

Hilfe
Neues Thema
Antworten
Nach oben



