Thread subname paketname; (7 answers)
Opened by cs at 2005-06-04 13:12

cs
 2005-06-04 19:16
#55322 #55322
User since
2005-05-19
26 Artikel
BenutzerIn
[default_avatar]
in englisch verstehe ich nur das grobe und leider nicht nicht die feinheiten. wo gibt es eigentlich die komplette perl doku zum download in deutsch?


dieser infix-dereferzierungsoperator mach mir das leben schwer. was heißt eigentlich "infix" ?
$hashref -> {key} ; # hier dient er der dereferenzierung
paketname -> subname ; # hier dem subaufruf
$objektref -> methode ; # hier dem methodenaufruf
finde ich ziemlich verwirrend!


in folgenden 3 fällen wir eine ordinäre sub aufgerufen, wobei der
der paketname nur manchmal mitgegeben wird.

Paketname::subname ; # 1) paketname wird nicht mitgegeben
subname paketname ; # 2) paketname ist erstes argument
paketname -> subname # 3) paketname ist erstes argument


die syntax in 2) und 3) dient eigentlich dem methodenaufruf, der fehlermeldung im fehlerfalle nach. von daher vermute, dass diese benutzung von den designern gar nicht gewollt ist.

oder doch?


mir ist klar, das in der oop die methode den paketname für die klassenzugehörigkeit braucht und die objektrefrenz um überhaupt das objekt zu finden. von daher verstehe ich den sinn dieses mechanismus.

objektref -> methode(arg1,...) ;

durch diesen aufruf bekommt die methode die gesegnete referenz, also paketnamen inklusive, als erstes argument mitgeliefert.


methode (objektref,arg1,...) ;

bei diesem methodenaufruf holt sich die methode anscheinend den paketnamen aus der gesegneten referenz selbstänig heraus.


hier noch einmal im überblick das erste übergebene argument

Paketname::subname ; # keines
subname paketname ; # paketname
paketname -> subname # paketname
objektref -> methode # gesegnet referenz

finde ich nach wie vor verwirrend! wie kann ich es einfacher betrachten?

View full thread subname paketname;