Pour pouvoir naviguer au sein du source de projets complexes,
ceux pour lesquels le système de gestion de configuration joue un rôle fondamental,
il est nécessaire de créer nombre de 'variables'
pour tenter d'imiter le comportement du compilateur
relatif aux inclusions de fichiers.
Un grand nombre de variables débouche sur un en-tête de page encombré (d'autant plus avec l'interface link). Très souvent, toutes les variables ne sont pas significatives en même temps: beaucoup ne font sens que lorqu'une autre a une certaine valeur. Il est alors possible de construire un arbre de dépendance.
À partir de la version 1.0,
les relations de cet arbre de dépendance peuvent être traduites
dans la définition des 'variables'
.
La relation s'exprime par une clause 'when'
qui provoque le non-affichage de la variable si la relation n'est pas satisfaite.
Ceci contribue à améliorer la lisibilité de l'en-tête.
expression_conditionnelle est une expression "logique" portant sur des chaînes
et ayant pour résultat vrai ou faux.
Pour être utile,
elle doit référencer d'autres variables sous la forme
"$
var_id"
.
$
var_id.
Ensuite, l'expression résultante est évaluée.
Example:
Les opérateurs de comparaison disponibles sont
eq
et
ne
,
pas ==
and !=
qui travaillent sur des nombres.
Les variables'when'
(conditionnelles) sont des variables ordinaires.
Elles n'acquièrent aucune propriété sémantique supplémentaire du fait de 'when'
.
Elles sont seulement cachées
quand leur clause 'when'
aboutit à faux.
Même dans ce cas,
elles gardent leur dernière valeur.
v
de sélection de version
en variable conditionnelle n'a aucun sens
car elle est TOUJOURS valide.
Pour des exemples sophistiqués d'usage de variables conditionnelles, voir les Trucs et astuces consacrés à certains logiciels.