Kezdő útmutató az értékek összehasonlításához Perl-ben

Perl az összehasonlító operátorok néha zavaróak lehetnek az új Perl programozókkal szemben. A zavar abból a tényből fakad, hogy Perlnek valójában két összehasonlító operátorkészlete van - egy az összehasonlításhoz numerikus értékek és egy az Amerikai Egyesült Államok szabványos információcseréjének (ASCII) értékeinek összehasonlításához.

Mivel az összehasonlító operátorokat általában a logikai programfolyamat vezérlésére és fontos döntések meghozatalára használják, a A hibás operátor a tesztelt értékhez bizarr hibákat és óráknyi hibakeresést eredményezhet, ha nem vagy óvatos.

Ne felejtsd el elkapni azt, amit az oldal alján írtak, és emlékezzenek last-minute dolgokra.

Egyenlő, nem egyenlő

A legegyszerűbb és valószínűleg leggyakrabban használt összehasonlító operátorok tesztelik, hogy az egyik érték megegyezik-e a másik értékkel. Ha az értékek megegyeznek, a teszt igaz, és ha az értékek nem azonosak, akkor a teszt hamis értéket ad vissza.

A kettő egyenlőségének tesztelésére numerikus értékeket, az összehasonlító operátort használjuk

instagram viewer
==. A kettő egyenlőségének tesztelésére húr értékeket, az összehasonlító operátort használjuk eq (Egyenlő).

Íme egy példa mindkettőre:

if (5 == 5) {nyomtasson "== numerikus értékekre \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) string értékekre \ n"; } 

Az ellenkező, nem egyenlő tesztelése nagyon hasonló. Ne feledje, hogy ez a teszt visszatér igaz ha a vizsgált értékek nem egyenlőek egymással. Látni, hogy kettő numerikus értékek nem egymással azonosak, az összehasonlító operátort használjuk !=. Látni, hogy kettő húr értékek nem egymással azonosak, az összehasonlító operátort használjuk ne (Nem egyenlő).

if (5! = 6) {print "! = numerikus értékekre \ n"; }
if ('moe' ne 'göndör') {nyomtasson "ne (nem egyenlő) a string értékekre \ n"; } 

Nagyobb, mint nagyobb vagy egyenlő

Most nézzük meg a nagyobb, mint összehasonlító operátorok. Az első operátor használatával kipróbálhatja, hogy az egyik érték nagyobb-e, mint a másik. Látni, hogy kettő numerikus Az értékek nagyobbak, mint egymás, az összehasonlító operátort használjuk >. Látni, hogy kettő húr Az értékek nagyobbak, mint egymás, az összehasonlító operátort használjuk GT (Nagyobb, mint).

if (5> 4) {print "> numerikus értékekre \ n"; }
if ('B' gt 'A') {print "gt (Greater Than) string értékekre \ n"; } 

Kipróbálhat nagyobb vagy egyenlő:, amely nagyon hasonlónak tűnik. Ne feledje, hogy ez a teszt visszatér igaz ha a vizsgált értékek megegyeznek egymással, vagy ha a bal oldali érték nagyobb, mint a jobb oldalon.

Látni, hogy kettő numerikus az értékek nagyobb vagy egyenlőek egymással, az összehasonlító operátort használjuk >=. Látni, hogy kettő húr az értékek nagyobb vagy egyenlőek egymással, az összehasonlító operátort használjuk ge (Nagyobb, mint egyenlő).

if (5> = 5) {print "> = numerikus értékekre \ n"; }
if ('B' ge 'A') {print "ge (nagyobb, mint egyenlő) karakterláncértékekhez \ n"; } 

Kevesebb, kevesebb, vagy azzal egyenlő

Számos összehasonlító operátor létezik, amelyek segítségével meghatározhatja Perl programjainak logikai folyamatát. Már tárgyaltuk a különbséget a Perl numerikus összehasonlító operátorok és a Perl string összehasonlító operátorok között, ami némi zavart okozhat az új Perl programozókban. Megtanultuk azt is, hogyan lehet megmondani, hogy két érték egyenlő-e vagy sem egyenlő-e egymással, és megtanultuk, hogyan lehet megmondani, ha két érték nagyobb vagy egyenlő egymással.

Nézzük meg a kevesebb, mint összehasonlító operátorok. Az első operátor használatával kipróbálhatja, hogy van-e egy érték kevesebb, mint egy másik érték. Látni, hogy kettő numerikus értékek kevesebb, mint egymást, az összehasonlító operátort használjuk <. Látni, hogy kettő húr értékek kevesebb, mint egymást, az összehasonlító operátort használjuk LT (Kevesebb, mint).

if (4 <5) {nyomtasson "
if ('A' lt 'B') {nyomtasson "lt (kevesebb mint) karakterláncértékekre \ n"; } 

Tesztelhet, kevesebb vagy egyenlő:, amely nagyon hasonlónak tűnik. Ne feledje, hogy ez a teszt visszatér igaz ha a vizsgált értékek megegyeznek egymással, vagy ha a bal oldali érték kisebb, mint a jobb oldalon látható érték. Látni, hogy kettő numerikus értékek kevesebb vagy egyenlő: egymást, az összehasonlító operátort használjuk <=. Látni, hogy kettő húr értékek kevesebb vagy egyenlő: egymást, az összehasonlító operátort használjuk le (Kevesebb, mint egyenlő).

 if (5 <= 5) {nyomtasson "<= numerikus értékekre \ n"; }
if ('A' le 'B') {print "le (kevesebb, mint egyenlő) karakterláncértékekhez \ n"; } 

További információ az összehasonlító operátorokról

Amikor arról beszélünk, hogy a string értékek egyenlőek-e egymással, az ASCII értékekre hivatkozunk. Tehát a nagybetűk technikailag kisebbek, mint a kisbetűk, és minél magasabb a betű az ábécében, annál nagyobb az ASCII érték.

Ellenőrizze az ASCII-értékeket, ha karakterláncok alapján logikai döntéseket próbál meghozni.