Opérateurs du langage de génération par template

Le langage de génération par template prend en charge des opérateurs arithmétiques standard ainsi que certains opérateurs de template avancés.

Les opérateurs arithmétiques et logiques suivants sont pris en charge, dans lesquels x et y peuvent être des nombres ou des templates dont la résolution produit des nombres :

Opérateur

Description

%+(x,y)%

Opérateur d'addition

%-(x,y)%

Opérateur de soustraction

%*(x,y)%

Opérateur de multiplication

%/(x,y)%

Opérateur de division

%&(x,y)%

Opérateur logique and

Dans cet exemple, le template contenu dans la colonne de gauche produit le résultat affiché dans la colonne de droite :

Template Résultat
Base number=   %Number%       
Number+1=      %+(Number,1)% 
Number-1=      %-(Number,1)% 
Number*2=      %*(Number,2)% 
Number/2=      %/(Number,2)% 
Number&1=      %&(Number,1)%
Base number=   4       
Number+1=      5 
Number-1=      3 
Number*2=      8 
Number/2=      2 
Number&1=      0

Les opérateurs de template avancés suivants sont également pris en charge :

Opérateur

Description

*

Opérateur de déréférencement - La syntaxe [*]+valeur-locale [(liste-param)] renvoie le membre d'objet défini par l'évaluation de [*]+ valeur-locale. Si le membre d'objet fourni est un template, une liste de paramètres peut être spécifiée. Le fait d'appliquer l'opérateur astérisque correspond à une double évaluation (l'opérateur * agit comme un opérateur de déréférencement).

Si une variable locale est défini sous la forme : .set_value(C, Code), alors %C% va renvoyer "Code" et %*C% va renvoyer le résultat de l'évaluation de %Code%. En d'autres termes, %*C% peut être considéré comme %(%C%)% (cette dernière syntaxe étant incorrecte).

!

Opérateur d'évaluation - Evalue le résultat de l'évaluation de la variable comme un template. Par exemple, vous définissez un commentaire contenant une variable telle que %Code%. Lorsque vous utilisez l'opérateur ! dans %!Comment%, la valeur réelle de %Code% est substituée au bloc de variable. Sans opérateur !, la variable n'est pas évaluée.

L'opérateur ! peut être utilisé plusieurs fois. Par exemple :

%!!template%

Ceci produit le résultat de l'évaluation de l'évaluation de l'évaluation du template 'template'

?

L'opérateur ? est utilisé pour tester l'existence d'un template, d'une variable locale ou d'un attribut volatile ou étendu. Il renvoie "true" si la variable existe, "false" dans le cas contraire

Par exemple, si custname est défini alors que custid ne l'est pas, alors le template :

.set_value(foo, tt)
%custname?%
%custid?%

Renvoie le résultat suivant :

true
false

+

L'opérateur + est utilisé pour tester si une propriété d'objet est visible dans l'interface.

Par exemple, vous pouvez tester si la zone Type est affichée dans l'onglet Général de la feuille de propriétés d'une base de données dans le Modèle de Fluidité de l'Information, ce qui indique si le fichier XEM Replication Server est attaché au modèle.

Le template %Database.Type+% produira false si aucun fichier XEM n'est associé au modèle courant.