Syntaxe
|
CLASS userdefnamedataname IS literal11 THRU literal12
|
Paramètres
| Nom |
Description |
| userdefnamedataname
| Ce paramètre permet d'indiquer le nom de la définition utilisateur. |
| literal11 |
Ce paramètre permet d'indiquer le début de l'expression littéral. |
| literal12 |
Ce paramètre permet d'indiquer la fin de l'expression littéral. |
Description
Cette instruction permet de définir une classe.
Remarques
- L'instruction CLASS permet de définir un intervalle de caractères sous un nom logique. Cela simplifie l'écriture de conditions, notamment avec INSPECT ou
dans les clauses IF, en évitant de répéter à chaque fois une longue liste de caractères ou de l'intervalles.
- Le paramètre userdefnamedataname permet de donner un nom significatif à une classe de caractères, ce qui améliore la lisibilité du code. Par exemple, on peut
nommer une classe CHIFFRES pour représenter tous les caractères de '0' à '9'.
- L'utilisation des bornes literal11 THRU literal12 indique une plage de valeurs inclusives. Cela signifie que tous les caractères compris entre ces deux bornes,
en termes de valeur ASCII, feront partie de la classe. Cela rend la définition concise et flexible.
- Il est possible de définir plusieurs classes dans un programme, ce qui permet de regrouper différents types de caractères selon leur usage, comme des lettres
majuscules, minuscules, chiffres, signes de ponctuation,...
- La clause CLASS est souvent utilisée dans les clauses INSPECT ou IF combinées à IS CLASS, permettant de tester
rapidement si une variable contient des caractères d'un certain type sans avoir à énumérer manuellement toutes les possibilités.
- Les classes définies par l'utilisateur peuvent être adaptées à des contextes spécifiques métiers, par exemple en définissant une classe VOYELLES regroupant 'A',
'E', 'I', 'O', 'U', ou une classe ALPHANUMERIC_SPECIAL incluant lettres, chiffres et quelques symboles autorisés.
- La déclaration CLASS est placée dans l'Environment Division, dans la section SPECIAL-NAMES, ce qui signifie qu'elle est déclarative et non procédurale. Elle
ne produit pas d'action immédiate mais définit un comportement utilisable dans d'autres parties du programme.
- L'instruction CLASS améliore l'évolutivité du code. Si demain la définition d'une classe change (par exemple on accepte une lettre de plus), il suffit de
modifier sa définition en un seul endroit, sans devoir parcourir l'ensemble du code pour adapter les vérifications.
Dernière mise à jour : Jeudi, le 28 juillet 2011