Thread Referenzen von Variablen Funktionen übergeben die noch nicht da sind. (7 answers)
Opened by unwichtig at 2012-02-25 19:49

unwichtig
 2012-02-25 21:09
#156434 #156434
User since
2012-02-25
2 articles
BenutzerIn
[default_avatar]
2012-02-25T19:58:15 Linuxer
Hi,
1. ich hatte einen Bug in meinem obigen Code, ist nun gefixt; korrekt muss es heissen: \&go (also ohne Klammern)

Ja, habe ich gemerkt.

Quote
2. Wenn Du eine benannte Sub referenzieren willst, nimmmst Du den Namen der Sub, setzt \& davor, und das war es.

Ja soweit alles klar.

Quote
Argumente, egal wie viele, können auf diese Art nicht ermittelt/übergeben werden. Wenn man das aus irgendeinem Grund braucht; muss man entweder a) eine weitere benannte Sub schreiben, die die erste mit Argumenten aufruft und dann die zweite Referenzieren; oder man verwendet b) sub {} und definiert eine anonyme Sub, die die gewünschte Sub mit Argumenten aufruft.

Also das ist also normales Verhalten von Perl, wusste ich noch nicht.

Irgendwo hatte ich auch mal sowas gesehen:
Code: (dl )
1
2
3
4
5
6
use Tk;
my $main = MainWindow->new;
$main->Button(-text => 'End',
-command => [$main => 'destroy']
)->pack;
MainLoop;


Was bewirken die eckigen Klammern? Ist das eine Kurzschreibweise für annonyme Funktionen?

Irgendwie habe ich den Eindruck dass mir die Feinheiten von Perl
nicht geläufig sind.
Kennt jemand ein Buch oder Tutorial das solche Feinheiten ausnahmslos erklärt?
Last edited: 2012-02-25 21:13:25 +0100 (CET)

View full thread Referenzen von Variablen Funktionen übergeben die noch nicht da sind.