Przewodnik dla początkujących po porównywaniu wartości w Perlu

click fraud protection

Perl operatory porównania mogą czasami być mylące dla nowych programistów Perla. Zamieszanie wynika z faktu, że Perl faktycznie ma dwa zestawy operatorów porównania - jeden do porównywania wartości liczbowe i jedna do porównywania ciągów wartości American Standard Code for Information Interchange (ASCII).

Ponieważ operatory porównania są zwykle używane do kontrolowania logicznego przebiegu programu i podejmowania ważnych decyzji za pomocą niewłaściwy operator dla testowanej wartości może prowadzić do dziwnych błędów i godzin debugowania, jeśli nie będziesz ostrożny.

Nie zapomnij złapać tego, co jest napisane na samym dole tej strony, aby pamiętać o niektórych rzeczach z ostatniej chwili.

Równe, nie równe

Najprostsze i prawdopodobnie najczęściej używane operatory porównania sprawdzają, czy jedna wartość jest równa innej wartości. Jeśli wartości są równe, test zwraca wartość true, a jeśli wartości nie są równe, test zwraca wartość false.

Do testowania równości dwóch numeryczny wartości, używamy operatora porównania

instagram viewer
==. Do testowania równości dwóch strunowy wartości, używamy operatora porównania równ (Równy).

Oto przykład obu:

if (5 == 5) {print "== dla wartości liczbowych \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) dla wartości ciągów \ n"; } 

Testowanie przeciwnie, a nie równe, jest bardzo podobne. Pamiętaj, że ten test powróci prawdziwe jeśli testowane wartości to nie równe sobie. Aby sprawdzić, czy dwa numeryczny wartości są nie równi sobie, używamy operatora porównania !=. Aby sprawdzić, czy dwa strunowy wartości są nie równi sobie, używamy operatora porównania ne (Nie równe).

if (5! = 6) {print "! = dla wartości liczbowych \ n"; }
if ('moe' ne 'curly') {print "ne (Not Equal) dla wartości ciągu \ n"; } 

Większy niż, większy niż lub równy

Teraz spójrzmy na Lepszy niż operatory porównania. Za pomocą tego pierwszego operatora możesz sprawdzić, czy jedna wartość jest większa niż inna. Aby sprawdzić, czy dwa numeryczny wartości są od siebie większe, używamy operatora porównania >. Aby sprawdzić, czy dwa strunowy wartości są od siebie większe, używamy operatora porównania gt (Lepszy niż).

if (5> 4) {print "> dla wartości liczbowych \ n"; }
if ('B' gt 'A') {print "gt (Większy niż) dla wartości ciągu \ n"; } 

Możesz także przetestować większe bądź równe, który wygląda bardzo podobnie. Pamiętaj, że ten test powróci prawdziwe jeśli testowane wartości są sobie równe lub jeśli wartość po lewej stronie jest większa niż wartość po prawej.

Aby sprawdzić, czy dwa numeryczny wartości są większe lub równe, używamy operatora porównania >=. Aby sprawdzić, czy dwa strunowy wartości są większe lub równe, używamy operatora porównania ge (Większy niż równy).

if (5> = 5) {print "> = dla wartości liczbowych \ n"; }
if ('B' ge 'A') {print "ge (Większy niż równy) dla wartości ciągu \ n"; } 

Mniej niż, mniej niż lub równy

Istnieje wiele operatorów porównania, których można użyć do ustalenia logicznego przepływu programów w Perlu. Omówiliśmy już różnicę między operatorami porównania numerycznego Perl a operatorami porównania ciągów Perl, co może powodować pewne zamieszanie wśród nowych programistów Perla. Nauczyliśmy się również, jak stwierdzić, czy dwie wartości są sobie równe, czy też nie, i nauczyliśmy się, jak stwierdzić, czy dwie wartości są od siebie większe lub równe.

Spójrzmy na mniej niż operatory porównania. Za pomocą tego pierwszego operatora możesz sprawdzić, czy jest jedna wartość mniej niż inna wartość. Aby sprawdzić, czy dwa numeryczny wartości są mniej niż używamy operatora porównania <. Aby sprawdzić, czy dwa strunowy wartości są mniej niż używamy operatora porównania lt (Mniej niż).

if (4 <5) {print "
if ('A' lt 'B') {print "lt (mniej niż) dla wartości ciągu \ n"; } 

Możesz także przetestować, mniejszy lub równy, który wygląda bardzo podobnie. Pamiętaj, że ten test powróci prawdziwe jeśli badane wartości są sobie równe lub jeśli wartość po lewej jest mniejsza niż wartość po prawej. Aby sprawdzić, czy dwa numeryczny wartości są mniejszy lub równy używamy operatora porównania <=. Aby sprawdzić, czy dwa strunowy wartości są mniejszy lub równy używamy operatora porównania le (Mniej niż równy).

 if (5 <= 5) {print "<= dla wartości liczbowych \ n"; }
if ('A' le 'B') {print "le (Mniej niż równy) dla wartości ciągu \ n"; } 

Więcej informacji na temat operatorów porównania

Kiedy mówimy o równości wartości ciągów, mamy na myśli ich wartości ASCII. Tak więc wielkie litery są technicznie mniejsze niż małe litery, a im wyższa litera w alfabecie, tym wyższa wartość ASCII.

Upewnij się, że sprawdzasz wartości ASCII, jeśli próbujesz podejmować logiczne decyzje na podstawie ciągów.

instagram story viewer