|
|||
|
JavaScript.nu
/
Perl-kurs
/
Logiska uttryck
Eftersom jag vet att många av er som läser detta även kan JavaScript ska jag dra paralleller dit, fast det är givetvis inget krav att du förstår dig på detta för att kunna hänga med i detta kapitel.
Till att börja med:
#!/usr/bin/perl print "Content-type:text/html\n\n"; if ("hej" eq "hej") #Om "hej" är samma sak som "hej" så körs det efter klamrarna nedan { print "hej är samma sak som hej.\n"; #detta ska alltså köras om "hej" är samma sak som "hej" } if (1+1 == 3) #Är 1+1 lika med 3? OM det är sant körs det mellan klamrarna nedan... { print "1+1 är samma sak som 3."; #...Alltså körs detta klamrar. } else #ANNARS, dvs om det inom if INTE är sant, körs det mellan klamrarna nedan... { print "1+1 är inte samma sak som 3."; #Alltså körs denna rad om 1+1 INTE är lika med 3. } Utmatning: hej är samma sak som hej. 1+1 är inte samma sak som 3.Om det som står inom if är sant, sker det som står mellan de första klamrarna ({ och }) efter if. Vill vi kan vi även ha ett else efter klamrarna och efter detta else ytterligare ett par klamrar. I så fall sker det som står efter det andra paret klamrar då (och bara då) det som stod inom if är falskt (=inte sant). I vårt exempel kollar scriptet först om strängen "hej" är samma sak som strängen "hej", och det är det ju, då sker det som står mellan de första klamrarna, alltså: print "hej är samma sak som hej.\n";. I vårt andra fall kollas om 1+1 är lika med 3. Detta är INTE sant (det är ju falskt), därför sker inte det som står mellan de första klamrarna (dvs, denna rad körs aldrig: print "1+1 är samma sak som 3.\n";). Istället har jag en else efter klamrarna, vilket gör att om det som står inom if är falskt (vilket det var i vårt fall, eftersom 1+1 är 2) så körs det som står efter klamrarna som kommer efter else. Inom dessa klamrar står det: print "1+1 är inte samma sak som 3.";
Du undrar säkert varför jag i det första exemplet hade
eq och i det andra ==.
Detta beror på att det i det första exemplet
var två textsträngar och i det andra två tal.
Detta kan dock verka som lite av en överkurs,
så förstår du inte skillnaden mellan en sträng
och ett tal, strunt i denna skillnad.
Att lära sig hur if-satser fungerar är ytterst viktigt vid all programmering, varför jag gjort ytterligare ett exempel nedan för att visa hur man kan använda sig av if- och unless-satser: #!/usr/bin/perl print "Content-type:text/html\n\n"; $kalleAnkaGillar="kakor"; $kajsaAnkaGillar="kakor"; $mussePiggGillar="glass"; $mimmiPiggGillar="godis"; if ($kalleAnkaGillar eq $kajsaAnkaGillar) #Om kalle gillar samma sak som kajsa... { print "Kalle och Kajsa gillar samma saker.\n"; #Så skrivs detta ut... } else #Annars... { print "Kalle och Kajsa gillar INTE samma saker.\n"; #Skrivs detta ut } if ($mussePiggGillar ne $mimmiPiggGillar) #Om Musse INTE gillar samma sak som Mimmi... { print "Musse och Mimmi gillar INTE samma saker."; #Så skrivs detta ut... } else #Annars... { print "Musse och Mimmi gillar samma saker."; #Skrivs detta ut } Utmatning: Kalle och Kajsa gillar samma saker. Musse och Mimmi gillar INTE samma saker. Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade. Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ] |