Partager via


Définition des paramètres de données Configuration-Dependent

Les paramètres sont introduits à l’aide de la construction *Features . La balise de construction de la construction *Features identifie le paramètre (ou définit le nom du paramètre, également appelé nom de la fonctionnalité).

Le contenu de la construction *Features peut se composer d’une ou plusieurs constructions *Option . Les constructions *Option définissent les valeurs autorisées ou indiquent que le paramètre peut se trouver. La balise de construction de la construction *Option identifie une valeur ou un état autorisé. Cette balise de construction est également appelée nom de l’option.

Par exemple, vous pouvez définir un paramètre nommé Aujourd’hui qui peut prendre un jour de la semaine comme valeur, comme le montre l’exemple de code suivant :

*Feature: Today
{
  *Option: Sunday{}
  *Option: Monday{}
  *Option: Tuesday{}
  *Option: Wednesday{}
  *Option: Thursday{}
  *Option: Friday{}
  *Option: Saturday{}
}

Dans l’exemple précédent, le paramètre Today ne peut prendre qu’une seule valeur à un moment donné. Aujourd’hui ne peut pas être à la fois dimanche et mardi. Toutefois, tous les paramètres ne sont pas limités aux valeurs exclusives ; ils peuvent prendre une ou plusieurs valeurs à la fois. Par exemple, si vous avez un robot qui peut contenir plusieurs couleurs de stylet dans sa main en même temps, vous pouvez définir un paramètre PenColors pour décrire les couleurs qui sont actuellement dans sa main. Vous pouvez spécifier PenColors : (Rouge ET vert ET jaune) et cela peut être parfaitement valide.

La directive réservée *UIType vous permet de déterminer si un paramètre ne peut prendre qu’une seule valeur à tout moment (PICKONE) ou si plusieurs valeurs peuvent être attribuées à ce paramètre à un moment donné (PICKMANY). La directive *UIType est positionnée en tant qu’entrée enfant de la construction *Features .

Note GDL n’autorise pas l’affectation de « rien » à un paramètre. Ainsi, pour décrire le robot qui ne contient aucun stylet, vous devez déclarer une option appelée Aucun ou Désactivé pour les paramètres PICKMANY. Le nom d’option utilisé n’est pas important ; vous pouvez désigner l’option affectée à cette propriété à l’aide de la directive *NoneOption . L’option désignée par *NoneOption n’est compatible avec aucune des autres options.

Vous pouvez définir autant de *constructions de fonctionnalités que vous avez de paramètres. Toutes les *constructions de caractéristiques doivent résider dans le contexte racine. Le contexte racine n’a pas de construction parente.