8. Elágazás (if, else if, else, switch) - randallra vár a szinezése |
A scriptekben a legfontosabb dolgok közé sorolható az elágazások, ezek nélkül nem is igazán tudnánk scriptelni. Az elágazás lényege, hogy amikor elér hozzá a fordító(cod2), akkor megnézi a benne lévő állítást(feltételt, legtöbbször operátorok segítségével), és az alapján választja el melyik utat választja tovább a program. Ez elsőre kicsit bonyolultnak hangzik, de majd a példákból megérted. :)
1. egyszerű if
main(){ szam = 1; if(szam<2) // a feltétel igaz mert 1 < 2 iprintln("A " + szam + " kisebb, mint 2."); }
Itt, ha a szam változó értéke kisebb, mint 2 akkor kiírja a szöveget, ha nem akkor kihagyja ezt a sort. Ha több parancsot szeretnénk a feltételhez kötni, akkor {} kell használnunk.
main(){ szam = 0; if(szam<2){ // a feltétel igaz mert 0 < 2 iprintln("A " + szam + " kisebb, mint 2."); iprintln("Ezt is csak akkor látom, ha a számunk kisebb, mint 2."); } }
2. if és else
Az else arra való, ha nem csak azt szeretnénk, hogy akkor hajtson végre parancsot, ha igaz, hanem akkor is, ha nem igaz.(fúdejómondatlett sry)
main(){ szam = 2; if(szam<2){ // a feltétel hamis mert 2 nem kisebb, mint 2 iprintln("A " + szam + " kisebb, mint 2."); //ezt nem írja ki iprintln("Ezt is csak akkor látom, ha a számunk kisebb, mint 2."); //ezt se } else{ iprintln("A " + szam + " NEM kisebb, mint 2, tehát nagyobb vagy egyenlő."); //ezt viszont kiírja } }
Természetesen itt is lehet {} nélkül megadni parancsot, de figyelni kell arra, hogy az if után csaka egy parancs lehet. De lehet kombinálni is, szóval az ifnél zárójel és az elsenál meg nincs, vagy fordítva.
3. if, else és elseif
Az elseif arra való, hogy egy újabb feltételt belerakjunk, az elágazásba, de csak akkor nézi meg a feltételt a fordító, ha az elötte lévők nem teljesültek.
main(){ szam = 2; if(szam<2){ // az állítás hamis mert 2 nem kisebb, mint 2 iprintln("A " + szam + " kisebb, mint 2."); //nem írja ki iprintln("Ezt is csak akkor látom, ha a számunk kisebb, mint 2."); //ezt sem } elseif(szam>2){ // az állítás hamis mert 2 nem nagyobb, mint 2 iprintln("A " + szam + " nagyobb, mint 2."); //ezt sem írja ki } else{ iprintln("A " + szam + " nem is kisebb, de nem is nagyobb, mint 2, tehát az értéke 2."); //ezt írja ki } }
(Itt is lehet a {}-el játszani, de több elseif-es tagot is berakhatunk.)
4. switch
A switch(vagy más néven case) olyan mint egy rövidítés. Akkor tudjuk, használni, ha egy változónak az értékét vizsgáljuk, több ágon.
Az alap:
main(){ szam = 2; if(szam == 0){ //hamis iprintln("A " + szam + " egyenlő 0-val."); //nem írja ki } elseif(szam == 1 or szam == 2){ //igaz iprintln("A " + szam + " egyenlő 1-el vagy 2-vel."); //kiírja } elseif(szam == 3){ //hamis iprintln("A " + szam + " egyenlő 3-al."); //nem írja ki } elseif(szam == 4){ //hamis iprintln("A " + szam + " egyenlő 4-el."); //nem írja ki } else{ iprintln("A " + szam + " nem egyenlő se 1-el, se 2-vel, se 3-al, se 4-el."); //nem írja ki } }
Switch-el:
main(){ szam = 2; switch(szam) { case 0: //hamis mert 0 nem egyenlő 2-vel iprintln("A " + szam + " egyenlő 0-val."); //nem írja ki break; case 1: //hamis case 2: //de ez igaz iprintln("A " + szam + " egyenlő 1-el vagy 2-vel."); // ezért kiírja ezt break; case 3: //hamis iprintln("A " + szam + " egyenlő 3-al."); //nem írja ki break; case 4: //hamis iprintln("A " + szam + " egyenlő 4-el."); //nem írja ki break; default: iprintln("A " + szam + " nem egyenlő se 1-el, se 2-vel, se 3-al, se 4-el."); //nem írja ki break; } }
Forrás: http://www.modsonwiki.com/ Fordította, átírta: Ksisu - TotalConversion.hu
|
|
|
Üzenet küldéséhez be kell jelentkezned!
|
|
|