Sign in Join
Wiki copytemporary

^/fi: what changed

Revision 5 to 6. Removed lines have a minus sign; added lines have a plus sign.

Title: ^/fi &/fi

OldNewLine
1-<div style="float:right; margin: 0 25px 20px 0; padding:40px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">
2-
3-^
1+&
42
5-</div>
3+[[ASCII/fi|ASCII]]:ssa merkkikoodi jonka arvo on desimaalisena `38` (tai [[Hexadecimal/fi|$]]`26`) määritellään olevan `&` (lausutaan "et").
64
7-[[ASCII/fi|ASCII:ssa]] merkkikoodi `94` desimaalisena (tai [[Hexadecimal/fi|heksadesimaalisena]] `5E`) on määritelty `^` (circumflex-aksentti) merkiksi.
5+## Pascal
86
9-Jokaista tietotyyppiä varten voidaan osoittaa dataa [[Pointer/fi|osoittimen tyypillä (pointer)]] operaattorin `^` avulla joka on [[Data type/fi|tietotyypin]] edessä.
7+### Oktaalijärjestelmä
108
11-\
9+[[Pascal/fi|Pascalissa]] `&` merkitsee oktaalilukua.
1210
1311``` pascal
14-program pointerDemo(input, output, stderr);
15-
16-type
17- listItem = record
18- payload: integer;
19- // next _points_ _to_ a list item
20- next: ^listItem;
21- end;
12+program messageNo(input, output, stderr);
2213
23-var
24- start: ^listItem;
14+uses
15+ baseUnix;
2516
2617begin
27- new(start);
28- if not assigned(start) then
29- begin
30- writeLn(stderr, 'obtaining memory for start failed');
31- halt(1);
32- end;
18+ // withdraw group write access to current terminal
19+ // equivalent to invoking: mesg n
20+ fpChmod('/dev/stdin', &0600);
21+end.
3322```
3423
35-Osoitinta (`pointer`) voidaan seurata, jos se on liitetty lisäämällä [[Identifier/fi|tunnisteeseen]] `^`. Sen sijaan, että muistin osoite olisi käsillä, niin nähdään sen osoittaman muistin sisältö. Jos kyseessä on tyypitetty osoitin (typed pointer), kyseisen tyypin toiminnot ja syntaksit ovat voimassa, esim. [[Becomes/fi|saa arvokseen]] seuraavassa esimerkissä.
24+Oktaalijärjestelmässä vain merkit välitä `0` ja `7` ovat sallittuja.
3625
26+Ohjeellisena huomautuksena että käytännön ohjelmissa edellä oleva esimerkissä olisi parempi kirjoittaa:
27+
3728``` pascal
38- // _de-reference_ the pointer, i.e. follow it
39- start^.payload := 7;
40-
41- dispose(start);
42-end.
29+fpChmod('/dev/stdin', S_IRUSR or S_IWUSR);
4330```
4431
45-Pyrkimys seurata [[Nil/fi|nil]] osoitinta aiheuttaa kuitenkin [[runtime error/fi|ajonaikaisen virheen]] (RTE 216 “general protection fault”). Tilanne on, että ehto, `not assigned(start)` rivillä 15, on tarkoitus saada kiinni.
32+koska se on merkityksellisempää kuin raaka lukuarvo. Pascal on korkean tason kieli. Käytetään tätä etua. Joten kirjoitetaan, mitä tarkoitetaan, ei sitä mitä tietokone todella tekee.
4633
47-## Katso myös
34+### Tunnistetieto
4835
49-- [[$pointerMath/fi|{$pointerMath off}]] ei salli osoittimien käyttöä aritmeettisissa lausekkeissa
50-- [[$typedAddress/fi|{$typedAddress on}]] yhdessä [[@|@-osoiteoperaattorin kanssa]]
51-- [[$modeSwitch/fi|{$modeSwitch autoDeref-}]]
36+[[FPC/fi|FreePascal]] julisti takautuvasti joitakin uusia [[Reserved word/fi|varattuja sanoja]]. Jotta FPC kykenisi kääntämään vanhan koodin ajantasaisella [[Compiler/fi|kääntäjän]] versiolla, joka saattaisi epäonnistua näiden uusien varattujen sanojen takia, FPC julisti `&`-merkin "pakomerkiksi". Täten kääntäjä hyväksyy todellisen varatun sanan kelvolliseksi [[Identifier/fi|tunnistimeksi]] ilman koodin uudelleenlähettämistä, mutta pakenemaan, eli antamalla tunnisteen ja lähettämällä tunnisteen. Uudessa koodissa on kuitenkin oltava erilaiset tunnusnimet ilman tätä ominaisuutta.
5237
38+## Lazarus
39+
40+[[Lazarus/fi|Lazaruksessa]] `&`-merkkiä käytetään
41+
42+- ilmaisemaan pikanäppäimiä [[TMenuItem]]
43+
5344---
54-*From the Free Pascal wiki, page "^/fi", as it stood on 2023-02-18 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).*
45+*From the Free Pascal wiki, page "&/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