# 5.3. Variables SET

Un script peut accéder à des variables SET;

- Pour les lire, vous n'avez besoin que de regarder `$set{"VARIABLE"}`, où le nom des variables est écrit en capitales

- Pour les définir, appelez `&doset("variable", "value");` où le nom des variables peut être dans les deux cas (un cas ne signifie rien) et la valeur en est contrôlée

Un script peut aussi ajouter ses propres variables SET, fournissant une valeur par défaut et un point d'insertion pour contrôler et définir une nouvelle valeur. Pour ce faire, le script doit :

- définir la variable à une valeur par défaut, avec `$set{"VAR"}="whatever";` sirc ne laissera pas l'utilisateur définir une variable `/set` si aucune valeur pour elle dans `%set` n'existe.

- définit un sous-programme `set_somename`, et appelle `&addset("var", "somename");` &addset ("var", "somename");

Le nom des variables peut être omis dans les deux cas.

Les sous-programmes qui servent de point d'insertion pour les variables SET sont appelés avec la valeur proposée comme premier argument. Ils peuvent (on non) modifierr la valeur réelle dans `$set{"VAR"}` à la valeur donnée à une autre. Par convention, ils ne seront pas `&tell`, et ignoreront les valeurs des arguments invalides

Ce qui se passe dans `$set{"VAR"}` doit être lisible de façon (humaine?); par exemple, pour les les désactivations, il est suggéré que les valeurs dans `$set{"VAR"}` seront "on","out" ou similaire, et que `&doset` peut définir une variable (à l'intérieur du script) à 0 ou 1, qui sera la seule réellement contrôlée par le script.