Was sind die Unterschiede zwischen $, @,% in der Perl-Variablendeklaration? [Duplikat]

9
    

Diese Frage hat hier schon eine Antwort:

    

Beispiel:

%Vor%

Ich weiß, @ scheint für Array zu sein, $ für primitiv, ist das völlig richtig? Was ist % für?

    
nicola 05.04.2011, 14:54
quelle

4 Antworten

18

Eines der schönen Dinge an Perl ist, dass es mit einem eingebauten Handbuch ausgestattet ist. Geben Sie den folgenden Befehl ein:

%Vor%

und sehen Sie sich den Abschnitt Perl-Variablentypen an. Sie können dies auch online im Abschnitt perldoc.perl.org zu Perl-Variablen sehen.

Ein kurzer Überblick:

  • $ foo ist eine skalare Variable. Es kann einen einzelnen Wert enthalten, der eine Zeichenfolge, eine Zahl usw. sein kann.
  • @foo ist ein Array . Arrays können mehrere Werte enthalten. Sie können auf diese Werte über einen Index zugreifen. Zum Beispiel ist $ foo [0] das erste Element des Arrays und $ foo [1] ist das zweite Element des Arrays usw. (Arrays beginnen normalerweise mit Null ).
  • % foo ist ein Hash . Dies ist wie ein Array, da es mehr als einen Wert enthalten kann, Hashes jedoch codierte Arrays. Zum Beispiel habe ich einen Passwort-Hash namens % password . Dies wird durch den Benutzernamen festgelegt und die Werte sind das Passwort des Benutzers. Zum Beispiel:

    $ Passwort {Fred}="Schwertfisch"; $ password {Betty}="geheim";

    $ user="Fred"; print "Das Passwort für Benutzer $ user ist $ password {$ user} \ n"; #Prints aus Schwertfisch $ user="Betty"; print "Das Passwort für Benutzer $ user ist $ password {$ user} \ n"; #Druckt geheim

    aus

Beachten Sie, dass Sie, wenn Sie auf einen einzelnen Wert in einem Hash oder -Array verweisen, das Dollarzeichen verwenden. Es ist ein wenig verwirrend für Anfänger.

Ich würde empfehlen, dass Sie das Lama-Buch erhalten. Das Lama-Buch ist Learning Perl und bietet eine hervorragende Einführung in die Sprache.

    
David W. 05.04.2011 15:37
quelle
12

$ steht für Skalare, @ steht für Arrays und % steht für Hashes. Weitere Informationen finden Sie im Abschnitt Variablentypen der Dokumentation.

    
eldarerathis 05.04.2011 14:57
quelle
7

$ ist ein Skalar, @ ist ein Array und % ist ein Hash.

    
Paul Tomblin 05.04.2011 14:56
quelle
4

$ var bezeichnet eine einwertige skalare Variable
@var bezeichnet ein Array
% var bezeichnet ein assoziatives Array oder Hash (sie sind beide gleich)

    
ennuikiller 05.04.2011 14:57
quelle

Tags und Links