Leser: 1
![]() |
|< 1 2 3 4 >| | ![]() |
33 Einträge, 4 Seiten |
QuoteAlso nur ein umstaendlicher Weg sich Variablen zu bauen die man nicht mehr veraendern kann. Scheint ein Ueberbleibsel von frueheren Perl-Versionen zu sein als es "use constant" noch nicht gab.
Quotesub newprint {
my $x = shift;
return sub {
my $y = shift;
print "$x, $y!\n";
}
}
$h = newprint('Howdy');
$g = newprint('Greetings');
# ...
&$h('world'); # Ausgabe: Howdy, world!
&$g('earthlings'); # Ausgabe: Greetings, earthlings!
QuoteSonst sehe ich keinen rechten Sinn darin. Kann mir irgendjemand eine sinnvolle Anwendung dieses Variablengewurschtels von Closures nennen? Das Counter-Beispiel von Strat ist zwar ganz nett, aber wenn man auf Datenkapselung wert legt wuerde man das doch eher als OOP-Modul bauen, oder nicht?
1
2
3
4
5
6
7
8
9
10
11
sub aussen {
# viele Variablen werden hier verwendet
my $innen = sub {
# viele Variablen aus "aussen" werden hier verwendet, aber
# muessen nicht uebergeben werden
};
while(...) {
$innen->();
}
}
Quote... besonders wenn es sich um eine kritische Loop handelt und viele Variablen uebergeben werden muessen.
Quote... besonders wenn es sich um eine kritische Loop handelt und viele Variablen uebergeben werden muessen.
QuoteManche Leute kommen angeblich mit Basic, Fortran oder C klar. Aber ich bezweifle, dass sie genauso viel Spass dabei haben :-)
QuoteManche Leute kommen angeblich mit Basic, Fortran oder C klar. Aber ich bezweifle, dass sie genauso viel Spass dabei haben :-)
Quotebei mir Basic (auf dem C64 falls das jemandem noch was sagt, es gab keine Funktionen, nur Gosub Zeilennummer ...), (Turbo) Pascal, Fortran 77, C, C++, C++ & MFC, Perl.
![]() |
|< 1 2 3 4 >| | ![]() |
33 Einträge, 4 Seiten |