Le type Char!

1. Résumé

Les valeurs de type char! représentent un caractère Unicode. Ce sont des nombres entiers dans l’intervalle allant de l’hexadecimal 00 à l’hexadecimal 10FFFF (de 0 à 1,114,111 en décimal.)

char! appartient aux ensembles de types suivants: immediate!, scalar!

2. Caractéristiques

les valeurs de type char! sont 'directes', 'atomiques' and 'passives'.

Note
Cela suppose que les caractéristiques de types ont été définies plus tôt dans le document.

3. Création

Les valeurs de type char! peuvent être créées à l’aide de la syntaxe littérale, ou à l’exécution par le constructeur make ou par conversion avec to ou en utilisant l’une des nombreuses fonctions qui extraient une valeur char! à partir d’une valeur string!.

3.1. Syntaxe littérale

Le format littéral de base pour les valeurs de type char! est:

#"<character>"
<character> : un caractère Unicode unique (habituellement saisi au clavier)

La syntaxe littérale permet aussi les séquences d'échappement pour les caractères de contrôle et les caractères qui ne sont pas faciles à saisir.

Le caractère d'échappement en Red est '^' - valeur Unicode U+005E. Par conséquent, le caractère ^ lui-même doit être précédé d’un ^. La chaîne littérale pour sa valeur est #"^^" et non pas #"^". De fait, #"^" n’est pas valide.

Il y a trois formes d'écriture littérale des caractères spéciaux en Red, l’une numérique, une autre pour les caractères nommés et la dernière pour les caractères "de contrôle".

La forme numérique est:

#"^(<codepoint>)"
<codepoint> : une valeur hexadécimale valide, par exemple 00, ABCD, 10FFFFF

La forme des caractères "de contrôle" est:

#"^<cc>"
<cc> : Un caractère unique parmi les suivants: - A-Z, [, \, ], _
Table 1. Séquence d'échappement pour les caractères de contrôle

Séquence d'échappement

Valeur Unicode

#"^A" - #"^Z"

U+0001 - U+001A.

#"^["

U+001B

#"^\"

U+001C

#"^]"

U+001D

#"^_"

U+001F

La forme "nommée" des caractères est:

#"^(<name>)" ou #"^<symbol>"
<name> : un nom de la table des Caractères Spéciaux Nommés
<symbol> : un symbole de la table des Caractères Spéciaux Nommés
Table 2. Caractères Spéciaux Nommés

nom

symbole

caractère

valeur Unicode

#"^(null)

#"^@"

null

U+0000

#"^(back)"

retour arrière

U+0008

#"^(tab)"

#"^-"

tabulation horizontale

U+0009

#"^(line)"

#"^/"

saut de ligne

U+000A

#"^(page)"

saut de page

U+000C

#"^(esc)"

échappement

U+001B

#"^(del)"

#"^~"

suppression

U+007F

#"^""

" - guillemets doubles

U+0022

#"^^"

^ - curseur

U+005E

4. Comparaisons

Tous les comparateurs peuvent être appliqués aux valeurs de type 'char!': =, ==, <>, >, <, >=, <=, =?. De plus, min, et max sont aussi supportés. La comparaison des 'char!' est sensible à la casse.

Exemples

#"a" = #"A"
== false
#"a" =? #"a"
== true
max #"a" #"A"
== #"a"
sort [#"c" #"b" #"d" #"a"]
== [#"a" #"b" #"c" #"d"]

5. Calcul

L'éventail complet des fonctions mathématiques peut être utilisé sur les valeurs de type char!. Une erreur Math Error est produite si le résultat du calcul sort de l’intervalle (hexadécimal) 00 - 10FFFF.

Exemples

#"a" + 1
== #"b"
#"a" - 32
== #"A"
#"a" * 256
== #"愀"
#"a" - 98
*** Math Error: math ou number overflow
*** Where: -
*** Stack:

6. Autres fonction concernant char!

Lowercase, Uppercase

results matching ""

    No results matching ""