Computerwissenschaften

Ein Leitfaden für Anfänger zum Vergleichen von Werten in Perl

Perl-  Vergleichsoperatoren können für neue Perl-Programmierer manchmal verwirrend sein. Die Verwirrung ergibt sich aus der Tatsache, dass Perl tatsächlich zwei Sätze von Vergleichsoperatoren hat – einen zum Vergleichen numerischer Werte und einen zum Vergleichen von ASCII-Werten (String American Standard Code for Information Interchange).

Da Vergleichsoperatoren normalerweise verwendet werden, um den logischen Programmfluss zu steuern und wichtige Entscheidungen zu treffen, kann die Verwendung des falschen Operators für den zu testenden Wert zu bizarren Fehlern und stundenlangem Debuggen führen, wenn Sie nicht vorsichtig sind.

Vergessen Sie nicht, zu lesen, was ganz unten auf dieser Seite steht, damit Sie sich in letzter Minute an einige Dinge erinnern können.

 

Gleich, nicht gleich

Die einfachsten und wahrscheinlich am häufigsten verwendeten Vergleichsoperatoren testen, ob ein Wert einem anderen Wert entspricht. Wenn die Werte gleich sind, gibt der Test true zurück, und wenn die Werte nicht gleich sind, gibt der Test false zurück.

Zum Testen der Gleichheit zweier numerischer Werte verwenden wir den Vergleichsoperator == . Zum Testen der Gleichheit zweier Zeichenfolgenwerte verwenden wir den Vergleichsoperator eq (EQual).

Hier ist ein Beispiel für beides:

if (5 == 5) {print "== für numerische Werte \ n"; }}
if ('moe' eq 'moe') {print "eq (EQual) für Zeichenfolgenwerte \ n"; }}

Das Testen auf das Gegenteil, nicht gleich, ist sehr ähnlich. Denken Sie daran, dass dieser Test true zurückgibt, wenn die getesteten Werte nicht gleich sind. Um festzustellen, ob zwei numerische Werte nicht gleich sind, verwenden wir den Vergleichsoperator ! = . Um zu sehen , ob zwei String – Werte sind nicht einander gleich, verwenden wir den Vergleichsoperator ne (ungleich).

if (5!=6) {print "!=für numerische Werte \ n"; }}
if ('moe' ne 'curly') {print "ne (nicht gleich) für Zeichenfolgenwerte \ n"; }}

 

Größer als, größer als oder gleich

Schauen wir uns nun die  Operatoren an, die  größer als der Vergleich sind. Mit diesem ersten Operator können Sie testen, ob ein Wert größer als ein anderer Wert ist. Um festzustellen, ob zwei  numerische  Werte größer als einander sind, verwenden wir den Vergleichsoperator  > . Um festzustellen, ob zwei  Zeichenfolgenwerte  größer als die anderen sind, verwenden wir den Vergleichsoperator  gt  (Größer als).

if (5> 4) {print "> für numerische Werte \ n"; }}
if ('B' gt 'A') {print "gt (Größer als) für Zeichenfolgenwerte \ n"; }}

Sie können auch auf größer oder gleich testen  , was sehr ähnlich aussieht. Beachten Sie, dass dieser Test  true zurückgibt,  wenn die getesteten Werte gleich sind oder wenn der Wert links größer als der Wert rechts ist.

Um festzustellen, ob zwei  numerische  Werte größer oder gleich sind, verwenden wir den Vergleichsoperator  > = . Um festzustellen, ob zwei  Zeichenfolgenwerte  größer oder gleich sind, verwenden wir den Vergleichsoperator  ge  (Größer als Gleich).

if (5>=5) {print ">=für numerische Werte \ n"; }}
if ('B' ge 'A') {print "ge (größer als gleich) für Zeichenfolgenwerte \ n"; }}

 

Weniger als, weniger als oder gleich

Es gibt verschiedene Vergleichsoperatoren, mit denen Sie den logischen Ablauf Ihrer Perl-Programme bestimmen können. Wir haben bereits den Unterschied zwischen den numerischen Perl-Vergleichsoperatoren und den Perl-Zeichenfolgenvergleichsoperatoren erörtert, was bei neuen Perl-Programmierern zu Verwirrung führen kann. Wir haben auch gelernt, wie man erkennt, ob zwei Werte gleich oder nicht gleich sind, und wir haben gelernt, wie man erkennt, ob zwei Werte größer oder gleich sind.

Schauen wir uns die  weniger als  Vergleichsoperatoren an. Mit diesem ersten Operator können Sie testen, ob ein Wert  kleiner als ein  anderer Wert ist. Um festzustellen, ob zwei  numerische  Werte  kleiner  sind, verwenden wir den Vergleichsoperator  < . Um zu sehen , ob zwei  String –  Werte sind  weniger als  jeder andere, verwenden wir den Vergleichsoperator  lt  (kleiner als).

if (4 <5) {print "<für numerische Werte \ n"; }}
if ('A' lt 'B') {print "lt (Less Than) für Zeichenfolgenwerte \ n"; }}

Sie können auch testen,  ob kleiner oder gleich ist , was sehr ähnlich aussieht. Denken Sie daran, dass dieser Test  true zurückgibt,  wenn die getesteten Werte gleich sind oder wenn der Wert links kleiner als der Wert rechts ist. Um festzustellen, ob zwei  numerische  Werte  kleiner oder gleich  sind, verwenden wir den Vergleichsoperator  <= . Um zu sehen , ob zwei  String –  Werte sind  kleiner oder gleich  miteinander, verwenden wir den Vergleichsoperator  le  (Less-than Equal-to).

if (5 <= 5) {print "<= für numerische Werte \ n"; }}
if ('A' le 'B') {print "le (Less-than Equal-to) für Zeichenfolgenwerte \ n"; }}

 

Weitere Informationen zu Vergleichsoperatoren

Wenn wir davon sprechen, dass Zeichenfolgenwerte gleich sind, beziehen wir uns auf ihre ASCII-Werte. Die Großbuchstaben sind also technisch gesehen kleiner als die Kleinbuchstaben. Je höher der Buchstabe im Alphabet ist, desto höher ist der ASCII-Wert.

Stellen Sie sicher, dass Sie Ihre ASCII-Werte überprüfen, wenn Sie versuchen, logische Entscheidungen basierend auf Zeichenfolgen zu treffen.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.