Sign in Join
Wiki copytemporary

Revision 1 of 2, by WikiArchive on 11-4-2026. The page as it is now.

Else/fi

Varattu sanaelse aloittaa sellaisen ohjelman haaran jossa kaikkia muita mainittuja tapauksia ei voida soveltaa. Se voi tapahtua

Contents

Semantiikka

Else-haara saa "ohjelmavirran", jos mitään muuta ehtoa ei ole täytetty. Sitä ei voi yhdistää nimenomaiseen lausekeesen (expression), vaan se riippuu toisissa paikoissa olevista lausekkeista, joten else:llä ei sinänsä ole ehtoa. If … then … else-lauseessa, komennot suoritetaan seuraavasti:

pascal
if expression
        then trueStatement
        else falseStatement;

missä falseStatement suoritetaan jos expression antaa false arvon.

Case-lauseessa else-haara suoritetaan, jos mitään muuta case-kohtaa ei suoriteta.

pascal
case expression of
        value0: action0;
        value1: action1;
        else action2;
    end;

Vain jos expression ei kohdistu arvoihin value0 eikä value1, niin action2 suoritetaan.

Vertailevia huomautuksia

Pascal:ssa ei ole elsif tai elif. Kuitenkin kirjoita else ja if taaksepäin ei ole ongelmaa. Huomaa että toinen if … then muodostaa itsestään yhden lauseen. Siksi else:n noudattamista koskeva vaatimus täyttyy.

pascal
if expression0 then
    begin
        action0;
    end
    else if expression1 then
    begin
        action1;
    end;

Sisäkkäiset if … then … else

if … then … else ovat altis semanttisille virheille, jos ei käytetä begin ja end kokoamaan lauseita.

pascal
if itIsMorning() then
        if itIsAHoliday() then
        begin
            sleep;
        end
        else
        begin
            wakeUp;
            dress;
            brushTeeth;
            …;
        end
    else
    begin
        …;
    end;

https://upload.wikimedia.org/wikipedia/commons/d/d8/Nuvola_apps_ktip.png Huomaa: else edessä osana if … then … else-lausetta ei sallita puolipistettä (;).

Reference guide selittää (suurin piirtein näin)

Sisäkkäisissä If.. then .. else rakenteissa voi syntyä jonkinlainen epäselvyys siitä, mikä if on else:n parina. Sääntö on, että else avainsanaa vastaa ensimmäistä if avainsanaa (haku taaksepäin) jota else-avainsana ei vielä vastaa.

Katso myös

Keywords: begin — do — else — end — for — if — repeat — then — until — while


From the Free Pascal wiki, page "Else/fi", as the Internet Archive kept it on 2025-02-14. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.