&/fr: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: &/fr
| Old | New | Line | |
|---|---|---|---|
| 1 | + | & | |
| 2 | + | ||
| 3 | + | En [[ASCII/fr|ASCII]], le caractère de code décimal `38` (ou [[hexadecimal/fr|$]]`26`) est défini pour être `&` (prononcé “esperluette” (ampersand)). | |
| 4 | + | ||
| 5 | + | ## Pascal | |
| 6 | + | ||
| 7 | + | ### Base octale | |
| 8 | + | ||
| 9 | + | En [[Pascal/fr|Pascal]], le `&` dénote un nombre écrit en base octale. | |
| 10 | + | ||
| 11 | + | ``` pascal | |
| 12 | + | program messageNo(input, output, stderr); | |
| 13 | + | ||
| 14 | + | uses | |
| 15 | + | baseUnix; | |
| 16 | + | ||
| 17 | + | begin | |
| 18 | + | // withdraw group write access to current terminal | |
| 19 | + | // equivalent to invoking: mesg n | |
| 20 | + | fpChmod('/dev/stdin', &0600); | |
| 21 | + | end. | |
| 22 | + | ``` | |
| 23 | + | ||
| 24 | + | Dans la base octale, seuls les caractères allant de `0` jusqu'à `7` inclus sont permis. `&` erst sépcifié devant pour indiquer la base octale. | |
| 25 | + | ||
| 26 | + | Une remarque au passage, dans un programme de production, le nombre dans l'exemple plus haut est mieux écrit ainsi : | |
| 27 | + | ||
| 28 | + | ``` pascal | |
| 29 | + | fpChmod('/dev/stdin', S_IRUSR or S_IWUSR); | |
| 30 | + | ``` | |
| 31 | + | ||
| 32 | + | car c'est plus significatif qu'avoir un nombre brut. Pascal est un langage de haut niveau. Profitez de cet avantage. Ecrivez ce que vous *voulez dire* et non pas ce qu'en fait l'ordinateur fait. | |
| 33 | + | ||
| 34 | + | > **Note:** Les nombres littéraux en octal ne sont pas pris en charge [[Mode Delphi/fr|{$mode Delphi}]] et [[Mode TP/fr|{$mode TP}]]. | |
| 35 | + | ||
| 36 | + | ### Code d'échappement d'identificateur | |
| 37 | + | ||
| 38 | + | [[FPC/fr|FreePascal]] a déclaré rétroactivement quelques nouveaux [[Reserved word/fr|mots réservés]]. Afin d'être capable de compiler le vieux code avec un version du [[Compiler/fr|compiler]] à jour, qui pourrait échouer du fait de ces nouveaux mots-clés, FPC a déclaré le `&` comme un caractère d'échappement. | |
| 39 | + | ||
| 40 | + | Ainsi, sans refactorisation du code mais en ajoutant des échappements, i.e. en faisant précéder l'[[Identifier/fr|identificateur]] par `&`, le compilateur accepte le mot réservé actuel comme un identificateur valide. Le nouveau code doit cependant proposer des noms d'identificateur différents, sans utiliser cette fonction (NdT: qui est aussi disponible dans Delphi). | |
| 41 | + | ||
| 42 | + | ## Lazarus | |
| 43 | + | ||
| 44 | + | En [[Lazarus Faq/fr|Lazarus]] le `&` est utilisé pour indiquer le raccourci-clavier dans [[TMenuItem/fr|TMenuItem]]. | |
| 45 | + | ||
| 46 | + | --- | |
| 47 | + | *From the Free Pascal wiki, page "&/fr", 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).* |
