Christian Kruse: Referenzen -- wozu ?

Beitrag lesen

Hoi,

$var = [1, 2, 3, 4];

ok das hab ich auch gesehen und da stand auch dran, dass des eine
anonyme Liste ist.
Da werfen sich mir ein paar Fragen auf:

  1. Wie kann eine Liste ein Skalar sein ?

Dem ist ja auch nicht der Fall. $var ist eine *Referenz* auf die Liste,
sie zeigt darauf, so nach dem Motto "Da, da hinten, da ist was, was
dich interessieren koennte."

  1. Ist jetzt in $var[0] der Wert 1 drin ?

Nein. In $$var[0] oder in $var->[0]. Du musst die Referenz erst
dereferenzieren.

  1. Ich versteh denn Sinn bzw. funktionsweise einer solchen Liste
    nicht.

Wie gesagt: du kannst mit derartigen Konstrukten abstrakte Datentypen
nachbilden. Perl kann z. B. keine mehrdimensionalen Arrays, von Haus
aus (das liegt an der Verwaltung als Liste). Dafuer benutzt man
Referenzen, bzw. anonyme Listen:

@array = ([1,2,3],[1,[2,3]],[1,3,4]);

waere Beispielsweise ein mehrdimensionaler Array.

Nochmal vielen vielen Dank für Hilfe.

Gern.

Ich weiss RTFM aber ich komme damit echt nicht weiter.

Hier wird sicher keiner gefressen.

Gruesse,
 CK