Vodnik za začetnike primerjave vrednosti v Perlu

Perl operaterji primerjave so lahko včasih zmedeni z novimi programerji Perl. Zmeda izhaja iz dejstva, da ima Perl dejansko dva niza primerjalnih operaterjev - enega za primerjavo numerične vrednosti in ena za primerjavo nizkih ameriških standardnih kod za izmenjavo informacij (ASCII).

Ker se operaterji za primerjavo običajno uporabljajo za nadzor logičnega pretoka programa in sprejemanje pomembnih odločitev z uporabo napačen operater za vrednost, ki jo preizkušate, lahko privede do nenavadnih napak in ur odpravljanja napak, če niste previdni.

Ne pozabite, da si zapomnite tisto, kar je napisano na dnu te strani, za nekaj spominov v zadnjem trenutku.

Enako, ne enako

Najpreprostejši in verjetno najbolj uporabljeni operaterji primerjave preizkusijo, ali je ena vrednost enaka drugi. Če so vrednosti enake, test vrne true, če vrednosti niso enake, test vrne false.

Za preizkušanje enakosti dveh številčna vrednosti, uporabljamo operater primerjave ==. Za preizkušanje enakosti dveh vrvica vrednosti, uporabljamo operater primerjave ekv (EQual).

instagram viewer

Tu je primer obeh:

if (5 == 5) {print "== za numerične vrednosti \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) za vrednosti niza \ n"; } 

Testiranje za nasprotno, ne enako, je zelo podobno. Ne pozabite, da se bo ta test vrnil prav če so preizkušene vrednosti ne enaki drug drugemu. Da vidim, če dva številčna vrednosti so ne enake med seboj, uporabljamo operater primerjave !=. Da vidim, če dva vrvica vrednosti so ne enake med seboj, uporabljamo operater primerjave ne (Ni enako).

if (5! = 6) {print "! = za numerične vrednosti \ n"; }
if ('moe' ne 'curly') {print "ne (Ni enako) za vrednosti niza \ n"; } 

Večji kot, večji kot ali enak

Zdaj pa poglejmo večji kot primerjalni operaterji. S tem prvim operaterjem lahko preizkusite, ali je ena vrednost večja od druge. Da vidim, če dva številčna vrednosti so večje med seboj, uporabljamo operater primerjave >. Da vidim, če dva vrvica vrednosti so večje med seboj, uporabljamo operater primerjave gt (Večji kot).

if (5> 4) {print "> za številske vrednosti \ n"; }
if ('B' gt 'A') {print "gt (več kot) za vrednosti niza \ n"; } 

Lahko se preizkusite tudi za večja ali enaka, ki je videti zelo podobno. Upoštevajte, da se bo ta test vrnil prav če so preizkušene vrednosti enake med seboj ali če je vrednost na levi večji od vrednosti na desni.

Da vidim, če dva številčna vrednosti so med seboj večje ali enake, uporabljamo operater primerjave >=. Da vidim, če dva vrvica vrednosti so med seboj večje ali enake, uporabljamo operater primerjave ge (Večja kot enaka).

if (5> = 5) {print "> = za numerične vrednosti \ n"; }
if ('B' ge 'A') {print "ge (večja kot enaka) za vrednosti niza \ n"; } 

Manj kot, manj kot ali enako

Obstajajo različni operaterji za primerjavo, s katerimi lahko določite logični tok programov Perl. O razliki med operaterji za numerično primerjavo Perl in operaterji za primerjavo nizov Perl smo že razpravljali, kar lahko povzroči nekaj zmede pri novih programerjih Perl. Izvedeli smo tudi, kako lahko ugotovimo, ali sta dve vrednosti enaki ali ne enaki, in naučili smo se povedati, ali sta dve vrednosti večji ali enaki.

Poglejmo si manj kot primerjalni operaterji. S tem prvim operaterjem lahko preizkusite, ali je ena vrednost manj kot še ena vrednost. Da vidim, če dva številčna vrednosti so manj kot drug drugega, uporabljamo operater primerjave <. Da vidim, če dva vrvica vrednosti so manj kot drug drugega, uporabljamo operater primerjave lt (Manj kot).

if (4 <5) {print "
if ('A' lt 'B') {natisni "lt (manj kot) za vrednosti niza \ n"; } 

Preizkusite se lahko tudi za, manj kot ali enako, ki je videti zelo podobno. Ne pozabite, da se bo ta test vrnil prav če so preizkušene vrednosti enake med seboj ali če je vrednost na levi strani manjša od vrednosti na desni. Da vidim, če dva številčna vrednosti so manj kot ali enako drug drugega, uporabljamo operater primerjave <=. Da vidim, če dva vrvica vrednosti so manj kot ali enako drug drugega, uporabljamo operater primerjave le (Manj kot enako).

 if (5 <= 5) {print "<= za številčne vrednosti \ n"; }
if ('A' le 'B') {print "le (Manj kot enako) za vrednosti niza \ n"; } 

Več informacij o primerjalnih operaterjih

Ko govorimo o tem, da so vrednosti niza enake med seboj, govorimo o njihovih ASCII vrednostih. Torej, velike tiskane črke so tehnično manjše od malih črk in višja črka je v abecedi, višja je vrednost ASCII.

Prepričajte se, da preverite vrednosti ASCII, če poskušate sprejemati logične odločitve na podlagi strun.

instagram story viewer