Else/fi
Deutsch · English · Español · Français · Suomi · Русский
Varattu sanaelse aloittaa sellaisen ohjelman haaran jossa kaikkia muita mainittuja tapauksia ei voida soveltaa. Se voi tapahtua
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:
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.
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.
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.
if itIsMorning() then
if itIsAHoliday() then
begin
sleep;
end
else
begin
wakeUp;
dress;
brushTeeth;
???;
end
else
begin
???;
end;Note:
elseedessä osanaif … then … else-lausetta ei sallita puolipistettä (;).
Reference guide selittää (suurin piirtein näin)
Sisäkkäisissä
If.. then .. elserakenteissa voi syntyä jonkinlainen epäselvyys siitä, mikäifonelse:n parina. Sääntö on, ettäelseavainsanaa vastaa ensimmäistäifavainsanaa (haku taaksepäin) jotaelse-avainsana ei vielä vastaa.
Katso myös
From the Free Pascal wiki, page "Else/fi", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. 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.