Thread Verständnisfrage Datentypen (Array/Hash/literale "Listen") (29 answers)
Opened by tschloss at 2008-11-29 13:20

tschloss
 2008-11-29 16:16
#116709 #116709
User since
2008-04-21
30 Artikel
BenutzerIn
[default_avatar]
Danke für die Komments. Für einen noch direkteren Bezug zu meinen Postulaten wäre ich noch dankbarer ;)
Aus renees Link gewann ich den oberflächlichen Eindruck, dass es zu einer Variablen sehr wohl noch einiges an Metainfo gibt. Das würde dann meine Zusatzfragen beantworten.

Demnach müßte ich meine Thesen leicht umformulieren:
1) Die Datentypen Array (inkl. "Liste") und Hash verhalten sich kompatibel zueinander. Alles läßt sich auf eine flache Liste zurückführen.
3) Zuweisungen auch zwischen verschiedenen Typen sind problemlos möglich (bei Hashes treten Elemente immer paarweise auf (interpretiert als key, value)). (Anmerkung: Das ist eine Intelligenz des Zuweisungsoperators)
4) Für die Übergabe an Subroutinen gilt: Es werden immer nur Wertelisten übergeben. Wie die Routine diese dann interpretiert, ist deren Sache. Die Subroutine weiss nicht, dass die übergebenen Skalare ursprünglich mal ein Array oder Hash (oder eben einzelne Paramter) waren.

Dass man gemäß (3) Hashes und Arrays mit qw einfach füllen kann, wußte ich. Dass man ohne Umweg eine Hash-Variable einer Array-Variablen und umgekehrt zuweisen kann, wußte ich nicht.
Vor allem (4) war mir nicht bewußt (wenn es denn so bestätigt wird): in einer Subroutine kommt immer nur eine Liste von Skalaren an, egal ob der Aufruf eine Liste von Werte oder einen Hash oder ein Array mitgegeben hat.

Liege ich richtig?
Danke
Thomas

View full thread Verständnisfrage Datentypen (Array/Hash/literale "Listen")