Składnia języka » Instrukcje warunkowe

If

  • 1 komentarz
  • 572 odsłony
  • Oceń ten tekst jako pierwszy

If ? z ang. ?jeśli? jest instrukcja języka perl dzięki której możemy sprawdzić czy  jakiś warunek jest prawdziwy czy fałszywy . Najlepiej zobrazować to przykładem :

if (warunek) {
    #jeżeli warunek jest spełniony 
    #wykonaj sie instrukcje zawarte miedzy nawiasami klamrowymi
}


Drugim przykładem użycia instrukcji if jest konstrukcja if else .Czyli mówiąc krótko jeżeli warunek jest spełniony wykonaj instrukcje jeżeli nie wykonaj inne instrukcje.
Dla zobrazowania przykład:

if (warunek) {
    #jakies instrukcje
} else {
    #inne instukcje
}


Czasami jednak chcieli byśmy sprawdzić czy "Czy jest prawdziwe? Jeśli nie, to może to jest? A może jednak to?"
Oczywiście można to zrobić stosując taką konstrukcje  :

if (warunek) {
    #jakieś instrukcje
} else {
    if (warunek drugi ) {
                #jakieś instrukcje
            } else {
                if (warunek trzeci ) {
                    #jakieś instrukcje
                } else {
            #jeżeli żaden warunek nie został spełniony
        }
    }
} 
      

Ale taka konstrukcja jest mało czytelna i łatwo o pomyłkę.
Znacznie lepszym rozwiązaniem w takim wypadku jest konstrukcja if elsif else .
A wygląda ona tak :

if (warunek) {
    #jakieś instrukcje
} elsif (warunek drugi) {
    #jakies instrukcje
} elsif (warunek trzeci) {
    #jakieś instrukcje
} else {
    #jeżeli żaden warunek nie został spełniony
}


Od razu widać że tak jest lepiej, wszystko staje sie czytelniejsze i wiadomo co w danym momencie sie dzieje .

Przydał by się jakiś praktyczny przykład jak to wygląda w prawdziwym programie a oto i on :

#!/usr/bin/env perl
 
my $pierwsza = 12; 
my $druga = 5;
 
if ($pierwsza == $druga) {
    print "$pierwsza jest równe $druga \n";
} elsif ($pierwsza < $druga) {
    print "$pierwsza jest mniejsze niż $druga \n";
} elsif ($pierwsza > $druga) {
    print "$pierwsza jest większe niż $druga \n ";
}


W perlu wyznawana jest zasada ze wszystko można zrobić na kilka sposobów  i tutaj posłużę sie przykładem jak można jeszcze używać instrukcji if.
Dla wyjaśnienia defined służy np. Do sprawdzania czy dana zmienna jest zdefiniowana.

my $zmienna = 4;
 
 
if (defined $zmienna) {
       print $zmienna; #jeżeli $zmienna posiada jakąś 
                              #wartość ten tekst zostanie wyświetlony
}
 
#a można to tez zapisać tak :
 
print $zmienna if defined $zmienna;


Na początku drugi zapis może wydawać sie dziwaczny ale jest to tylko kwestią czasy zeby sie z nim oswoić. Perl dostarcza rożnych udogodnień i skotów ponieważ programiści to zazwyczaj leniwe stworzenia.

1 komentarz

Coldpeer 2006-02-28 12:27

Spoko porada, czekam na następne arty :)