Syntaxe
|
With record_variable Do statement
|
Paramètres
| Nom |
Description |
| record_variable |
Ce paramètre permet d'indiquer un identificateur d'enregistrement à faire passer comme simple variable chacun de ses champs |
| statement |
Ce paramètre permet d'indiquer le bloc d'instruction ou l'instruction devant subir l'impact de ce mot réservé |
Description
Ce mot réservé permet de définir la structure d'enregistrement courante devant être utilisé pour les variables.
Ainsi, dans les instructions de composante du mot réservé with, les composantes (champs) de la variable d'enregistrement spécifiée par la clause «with» peut être désigné uniquement
par son identificateur de champ, c'est-à-dire sans la précéder de la dénotation de la variable d'enregistrement complète. Par conséquent, la clause with ouvre la portée contenant les identifiants
de champ de la variable d'enregistrement spécifiée, de sorte que les identifiants de champ puissent apparaître en tant qu'identificateurs de variable.
Remarques
- Le mot-clef WITH simplifie l'accès aux champs d'une variable d'enregistrement. Il évite de répéter le nom de l'enregistrement pour chaque champ. Cela améliore
la lisibilité, surtout pour des structures complexes.
- L'identifiant de l'enregistrement est fixé en début de bloc WITH. Tous les champs peuvent ensuite être utilisés directement dans les instructions suivantes. Cette
syntaxe réduit la verbosité du code.
- WITH est particulièrement utile pour manipuler plusieurs champs consécutivement. Il permet de grouper des affectations ou conditions sur une même structure. Cela
clarifie l'intention de travailler uniquement sur un enregistrement donné.
- Le bloc d'instructions statement peut être simple ou composé entre begin et end. Cela permet
d'effectuer plusieurs opérations sous le même contexte WITH. Le mot clef DO marque la transition vers les instructions à exécuter.
- L'usage abusif de WITH peut parfois nuire à la lisibilité. En particulier, lorsqu'il y a des champs portant le même nom que d'autres variables en dehors du WITH.
Cela peut entraîner des ambiguïtés ou des erreurs subtiles.
- Le compilateur résout les identificateurs de champ à l'intérieur du bloc WITH. Toute tentative d'accéder à un champ inexistant dans l'enregistrement déclenche une
erreur. Cela renforce la rigueur de la structure de données.
- Le mot clef WITH ne crée pas une copie de l'enregistrement. Il agit comme un raccourci syntaxique pour accéder à ses membres. Les modifications faites dans le
bloc impactent directement l'enregistrement.
- WITH peut être imbriqué pour accéder à des enregistrements internes. Cependant, cela complique la portée des identifiants si les champs ont des noms identiques. Dans ces
cas, il est conseillé de rester explicite pour éviter les confusions.
Dernière mise à jour : Mardi, le 25 octobre 2016