Leser: 17
|< 1 2 >| | 20 Einträge, 2 Seiten |
my $label = $main->Label(-text => 'Hello, world!');
1
2
3
4
5
# schlecht zu lesen:
my %hash = ('key1', 'value1', 'key2', 'value2', 'key3', 'value3',);
# besser zu lesen:
my %hash = (key1 => 'value1', key2 => 'value2', key3 => 'value3',);
hlubenow+2009-02-22 21:54:37--Code: (dl )my $label = $main->Label(-text => 'Hello, world!');
Was bedeutet die Zeile aus OOP-Sicht ? "$main" scheint ein Objekt zu sein (oder eine Referenz auf ein Objekt ??), mit "->" wird eine Methode aufgerufen (oder ein neues Label-Objekt instantiiert ??), dieses "=>" gibt es bei Hashes, was bedeutet das, ist "-text" ein Hash-Key ?
1
2
3
4
We can also write the subroutine so that it accepts both named parameters and a simple list. One
common technique borrowed from UNIX command line switches is to prefix named arguments with a
minus, to distinguish them from unnamed arguments. To determine how the subroutine has been called,
we just check the first character of the first parameter to see if it is a minus:
subname ( {key1=>"value1", ...}, pos1, pos2,...)
1
2
3
4
5
Each argument name is preceded by a dash. Neither case nor order mat‐
ters in the argument list. -type, -Type, and -TYPE are all acceptable.
In fact, only the first argument needs to begin with a dash. If a dash
is present in the first argument, CGI.pm assumes dashes for the subse‐
quent ones.
Quoteaber wenn du ein Tutorial schreibts solltest du dich in TK besser auskennen als ich.... oder ; -)
#Kein Kommentar+2009-02-23 23:56:32--wie schon gesagt meines wissens nach gehören die bindestriche einfach zum namen des schlüssels und mehr versteckt sich auch nicht dahinter.
1 2
dosub(@array,%hash,"literale ","Listen ","Elemente"); # alle arrays und hashes werden zur Liste abgeflacht # In Sprachen wie Python oder JS ist würden hier an den ersten beiden Positionen Referenzen übergeben, weil dort IMHO alles eine Referenz oder ne Konstante ist.
hlubenow+2009-02-23 23:53:19--Stimmt. Mein Tutorial ist aber über Python/Tkinter. Dort gibt's den Bindestrich nicht. (Die Optionen sind dort gewöhnliche Funktions-Argumente, die an den Konstruktor für das neue Widget übergeben werden.)
|< 1 2 >| | 20 Einträge, 2 Seiten |