Sign in Join
Wiki copytemporary

Else/fi: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-[[Reserved word/fi|Varattu sana]]`else` aloittaa sellaisen ohjelman haaran jossa kaikkia muita mainittuja tapauksia ei voida soveltaa. Se voi tapahtua
2-
3- * [[If/fi|`if … then … else`-haarassa]] ja
4- * [[Case|`case`]]-[[statement/fi|lauseessa]].
5-
6-## Contents
1+[[Reserved word/fi|Varattu sana]]`else` aloittaa sellaisen ohjelman haaran jossa kaikkia muita mainittuja tapauksia ei voida soveltaa. Se voi tapahtua
72
8- * 1 Semantiikka
9- * 1.1 Vertailevia huomautuksia
10- * 1.2 Sisäkkäiset if … then … else
11- * 2 Katso myös
3+- [[If/fi|if … then … else-haarassa]] ja
4+- [[Case|case]]-[[statement/fi|lauseessa]].
125
136## Semantiikka
147
15-`Else`-haara saa "ohjelmavirran", jos mitään muuta ehtoa ei ole täytetty. Sitä ei voi yhdistää nimenomaiseen [[expression/fi|lausekeesen (expression)]], vaan se riippuu toisissa paikoissa olevista lausekkeista, joten `else`:llä ei sinänsä ole ehtoa. `If … then … else`-lauseessa, komennot suoritetaan seuraavasti:
16-```
8+`Else`-haara saa "ohjelmavirran", jos mitään muuta ehtoa ei ole täytetty. Sitä ei voi yhdistää nimenomaiseen [[expression/fi|lausekeesen (expression)]], vaan se riippuu toisissa paikoissa olevista lausekkeista, joten `else`:llä ei sinänsä ole ehtoa. `If … then … else`-lauseessa, komennot suoritetaan seuraavasti:
9+
10+``` pascal
1711if expression
18- then trueStatement
19- else falseStatement;
12+ then trueStatement
13+ else falseStatement;
2014```
2115
22-missä `falseStatement` suoritetaan jos `expression` antaa [`false`](</index.php?title=False/fi&action=edit&redlink=1> "False/fi \(page does not exist\)") arvon.
16+missä `falseStatement` suoritetaan jos `expression` antaa [[False/fi|false]] arvon.
2317
24-`Case`-lauseessa `else`-haara suoritetaan, jos mitään muuta `case`-kohtaa ei suoriteta.
25-```
18+`Case`-lauseessa `else`-haara suoritetaan, jos mitään muuta `case`-kohtaa ei suoriteta.
19+
20+``` pascal
2621case expression of
27- value0: action0;
28- value1: action1;
29- else action2;
30- end;
22+ value0: action0;
23+ value1: action1;
24+ else action2;
25+end;
3126```
3227
33-Vain jos `expression` ei kohdistu arvoihin `value0` eikä `value1`, niin `action2` suoritetaan.
28+Vain jos `expression` ei kohdistu arvoihin `value0` eikä `value1`, niin `action2` suoritetaan.
3429
3530### Vertailevia huomautuksia
3631
37-[[Pascal/fi|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 [[statement/fi|lauseen]]. Siksi `else`:n noudattamista koskeva vaatimus täyttyy.
38-```
32+[[Pascal/fi|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 [[statement/fi|lauseen]]. Siksi `else`:n noudattamista koskeva vaatimus täyttyy.
33+
34+``` pascal
3935if expression0 then
40- begin
41- action0;
42- end
43- else if expression1 then
44- begin
45- action1;
46- end;
36+begin
37+ action0;
38+end
39+else if expression1 then
40+begin
41+ action1;
42+end;
4743```
4844
4945### Sisäkkäiset `if … then … else`
5046
51-`if … then … else` ovat altis semanttisille virheille, jos ei käytetä [[Begin/fi|`begin`]] ja [[End/fi|`end`]] kokoamaan lauseita.
52-```
47+`if … then … else` ovat altis semanttisille virheille, jos ei käytetä [[Begin/fi|begin]] ja [[End/fi|end]] kokoamaan lauseita.
48+
49+``` pascal
5350if itIsMorning() then
54- if itIsAHoliday() then
55- begin
56- sleep;
57- end
58- else
59- begin
60- wakeUp;
61- dress;
62- brushTeeth;
63- …;
64- end
51+ if itIsAHoliday() then
52+ begin
53+ sleep;
54+ end
6555 else
6656 begin
67- …;
68- end;
57+ wakeUp;
58+ dress;
59+ brushTeeth;
60+ …;
61+ end
62+else
63+begin
64+ …;
65+end;
6966```
7067
71-![Light bulb](https://upload.wikimedia.org/wikipedia/commons/d/d8/Nuvola_apps_ktip.png) **Huomaa:** `else` edessä osana `if … then … else`-lausetta ei sallita [[;/fi|puolipistettä (**;**)]].
68+> **Note:** `else` edessä osana `if … then … else`-lausetta ei sallita [[;/fi|puolipistettä (;)]].
7269
73-Reference guide selittää (suurin piirtein näin)
70+Reference guide selittää (suurin piirtein näin)
7471
75-> Sisäkkäisissä `If.. then .. else` rakenteissa voi syntyä jonkinlainen epäselvyys siitä, mikä `if` on `else`:n parina. Sääntö on, että `else` [[Keyword/fi|avainsanaa]] vastaa ensimmäistä `if` avainsanaa (haku taaksepäin) jota `else`-avainsana ei vielä vastaa.
72+> Sisäkkäisissä `If.. then .. else` rakenteissa voi syntyä jonkinlainen epäselvyys siitä, mikä `if` on `else`:n parina. Sääntö on, että `else` [[Keyword/fi|avainsanaa]] vastaa ensimmäistä `if` avainsanaa (haku taaksepäin) jota `else`-avainsana ei vielä vastaa.
7673
7774## Katso myös
7875
79- * [“The `If..then..else` statement in “Free Pascal reference guide”](<https://www.freepascal.org/docs-html/ref/refsu57.html>)
80-
81-
82-**Keywords:** [[Begin|begin]] — [[Do|do]] — [[Else|else]] — [[End|end]] — [[For|for]] — [[If|if]] — [[Repeat|repeat]] — [[Then|then]] — [[Until|until]] — [[While|while]]
76+- [“The `If..then..else` statement in “Free Pascal reference guide”](https://www.freepascal.org/docs-html/ref/refsu57.html)
8377
8478---
85-*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](/wiki-contact).*
79+*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](/wiki-contact).*

Back to history