I unten Ausdruck haben in Perl
@var1 = [($a, $b)]
Kann mir jemand helfen, den Wert in var1 gespeichert Ehrerbietung.
I unten Ausdruck haben in Perl
@var1 = [($a, $b)]
Kann mir jemand helfen, den Wert in var1 gespeichert Ehrerbietung.
@ var1 ist ein Array eines Arrays. Daher ist sein einziger Inhalt ein anderes Array, das zwei Werte $ a und $ b enthält.
$a2 = $var1[0][0];
$b2 = $var1[0][1];
@var1
ist ein Array mit einem einzelnen Element. Dieses einzelne Element ($var[0]
) enthält einen Verweis auf ein anderes Array. Dieses referenzierte Array hat zwei Elemente, die die Werte der Variablen $a
und $b
enthalten.
So $var[0]
enthält eine Array-Referenz. Um von einem Array-Verweis auf die Elemente des referenzierten Arrays zu gelangen, verwenden wir den Nachschlagepfeil ->
.
print $var[0]->[0]; # The first element in the referenced array
print $var[0]->[1]; # The second element in the referenced array
Es gibt eine zusätzliche Syntax, die wir hier verwenden können. Wenn wir zwei Sätze von Nachschlage-Klammern haben, die nur durch einen Nachschlage-Pfeil getrennt sind, können wir diesen Pfeil weglassen. So werden die Ausdrücke.
print $var[0][0];
print $var[0][1];
Zwei Punkte über Ihren Code:
$a
und $b
sind spezielle Variablen, die in Sortier Subroutinen verwendet werden. Es ist eine schlechte Idee, sie irgendwo anders zu verwenden.@var1 = [($a, $b)]
) sind die Klammern nicht erforderlich. Nur @var1 = [$a, $b]
hätte das Gleiche gemacht.Ich begann meine Antwort mit im Grunde den gleichen ersten Satz ... :) – simbabque
Ich würde gerne wissen, warum diese Antwort ein paar downvotes erhalten hat. –
Nun, welche? – yonyon100
Warum haben Sie an erster Stelle eine Array-Referenz einem Array zugewiesen? – Borodin