Водич за почетнике за упоређивање вредности у Перлу

Перл Оператери поређења понекад могу бити збуњујући са новим Перл програмерима. Конфузија произлази из чињенице да Перл заправо има два скупа оператора за поређење - један за упоређивање нумеричке вриједности и једна за упоређивање стрингова америчког стандардног кода за размјену информација (АСЦИИ).

Пошто се оператери за поређење обично користе за контролу логичког протока програма и доношење важних одлука, користећи погрешан оператор за вредност коју тестирате може довести до бизарних грешака и сати уклањања погрешака, ако нисте пажљиви.

Не заборавите да унесете оно што је написано на дну ове странице за неке последње ствари које треба запамтити.

Једнако, а не једнако

Најједноставнији и вероватно најчешће коришћени оператери поређења тестирају да ли је једна вредност једнака другој вредности. Ако су вредности једнаке, тест враћа вриједност труе, а ако вриједности нису једнаке, тест враћа фалсе.

За тестирање једнакости два нумерички вредностима, користимо упоредни оператор ==. За тестирање једнакости два низ вредностима, користимо упоредни оператор екв (ЕКуал).

instagram viewer

Ево примера за оба:

иф (5 == 5) {принт "== за нумеричке вредности \ н"; }
иф ('мое' ек 'мое') {принт "ек (ЕКуал) за вредности стрингова \ н"; } 

Тестирање за супротно, а не једнако, врло је слично. Не заборавите да ће се овај тест вратити истина ако су тестиране вредности не једнаки једни другима. Да видим да ли су две нумерички вредности су не једнаки једни другима, користимо оператер поређења !=. Да видим да ли су две низ вредности су не једнаки једни другима, користимо оператер поређења не (Није једнако).

иф (5! = 6) {принт "! = за нумеричке вредности \ н"; }
иф ('мое' не 'цурли') {принт "не (Није једнако) за вредности стрингова \ н"; } 

Већи од, већи од или једнак

А сада погледајмо веће од оператери поређења. Помоћу овог првог оператера можете тестирати да ли је једна вредност већа од друге. Да видим да ли су две нумерички Вриједности су веће једне од других, користимо оператер поређења >. Да видим да ли су две низ Вриједности су веће једне од других, користимо оператер поређења гт (Веће од).

иф (5> 4) {принт "> за нумеричке вредности \ н"; }
иф ('Б' гт 'А') {принт "гт (Греатер Тхан) за вредности стрингова \ н"; } 

Такође се можете тестирати већи или једнак, што изгледа врло слично. Имајте на уму да ће се овај тест вратити истина ако су тестиране вриједности једнаке једнакој или ако је вриједност на лијевој страни већа од вриједности на десној страни.

Да видим да ли су две нумерички вредности су веће или једнаке једнаке, користимо оператер упоређивања >=. Да видим да ли су две низ вредности су веће или једнаке једнаке, користимо оператер упоређивања ге (Већи него једнаки).

иф (5> = 5) {принт "> = за нумеричке вредности \ н"; }
иф ('Б' ге 'А') {принт "ге (веци од једнаког) за вредности стрингова \ н"; } 

Мање од, мање или једнако

Постоји мноштво оператора за поређење које можете користити да одредите логички ток својих Перл програма. Већ смо расправљали о разлици између Перлових нумеричких оператора поређења и Перл оператора поређења низа, што може изазвати забуну код нових Перл програмера. Такође смо научили како да утврдимо да ли су две вредности једнаке или нису једнаке, а научили смо и како да знамо да ли су две вредности веће или једнаке једнаке.

Погледајмо мање од оператери поређења. Помоћу овог првог оператера можете тестирати да ли је једна вредност мање од друга вредност. Да видим да ли су две нумерички вредности су мање од једни друге користимо упоредни оператор <. Да видим да ли су две низ вредности су мање од једни друге користимо упоредни оператор лт (Мање од).

иф (4 <5) {принт "
иф ('А' лт 'Б') {принт "лт (Мање од) за вредности стрингова \ н"; } 

Такође можете да тестирате, мање или једнаке, што изгледа врло слично. Не заборавите да ће се овај тест вратити истина ако су тестиране вриједности једнаке једнакој или ако је вриједност на лијевој страни мања од вриједности на десној страни. Да видим да ли су две нумерички вредности су мање или једнаке једни друге користимо упоредни оператор <=. Да видим да ли су две низ вредности су мање или једнаке једни друге користимо упоредни оператор ле (Мање-једнако једнаком).

 иф (5 <= 5) {принт "<= за нумеричке вредности \ н"; }
иф ('А' ле 'Б') {принт "ле (Мање-једнако једнако) за вредности стрингова \ н"; } 

Више информација о оператерима за поређење

Када говоримо о томе да су вредности стрингова једнаке једнакој другој, мислимо на њихове АСЦИИ вредности. Дакле, велика слова су технички мања од малих слова, а што је веће слово у абецеди, то је већа АСЦИИ вредност.

Обавезно провјерите АСЦИИ вриједности ако покушавате доносити логичке одлуке на темељу жица.