Thread Verständnisfrage Datentypen (Array/Hash/literale "Listen")
(29 answers)
Opened by tschloss at 2008-11-29 13:20 LanX-+2008-12-02 00:50:46-- Liiiiiiiiiiiiiiiiiies! ;-) Quote ($a) ist eben nicht immer eine Liste. An vielen Stellen ist es auch einfach nur ein Skalar: In keinem der obigen Fälle ist $a im Listenkontext. Das kann man auch experimentell herausfinden, wenn man $a durch etwas ersetzt wie etwa einen Aufruf einer Funktion, die wantarray ausgibt. In anderen Fällen ist es im Listenkontext: Der Schluss daraus ist, dass es eben immer vom jeweiligen "Konstrukt" abhängt, ob die Klammern eine Extra-Bedeutung haben. Da Klammern intuitiv ein bisschen nach Liste aussehen, haben sie in den obigen Konstrukten eben die Sonderbedeutung, dass sie eine Liste (oder einen Listenkontext) erzeugen. Und ob man nun "Konstrukt" oder "Opcode" sagt, das kommt wohl in diesen Fällen aufs selbe hinaus. "Konstrukt" wäre etwas abstrakter (soll heißen: Mehr auf Perl-Niveau als auf C-Niveau), und ich gebe Dir recht, dass es, um über eine Sprache zu reden, angemessener ist, abstrakte Beschreibungen zu geben, solange sie zutreffen. edit: noch das "@array = " zu dem Beispiel mit dem x-Operator dazugeschrieben, denn das ist auch wichtig, dass das ganze im Listenkontext steht Lieblingsmodule:
![]() ![]() |