Chapter 9 Guide de référence de la génération (GTL)
Les opérateurs suivants sont pris en charge dans le GTL :
La syntaxe ['*']+ <valeur-locale> ['('<liste-paramètres>')'] renvoie le membre d'objet défini par l'évaluation de ['*']+ <valeur-locale>. Si le membre d'objet spécifié 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).
Supposons qu'une variable locale soit définie de la façon suivante : .set_value(C, Code)
Dans ce cas, %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%)%
(la dernière syntaxe étant incorrecte).
L'opérateur ! est utilisé pour tester le résultat de l'évaluation de la variable comme un template.
Vous définissez par exemple un commentaire contenant une variable %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%
Ce qui produit le résultat 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.
Exemple :
Template
.set_value(toto, tt) %custname?% %custid?%
Produit le résultat suivant :
true false
Car custname est défini alors que custid ne l'est pas.
L'opérateur + est utilisé pour tester si une propriété d'objet est visible dans l'interface.
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 les définitions étendues de modèle Replication Server ou MobiLink sont attachées au modèle courant.
Vous devez définir le template %Database.Type+%, qui produira false si aucune définition d'attribut étendu n'est associée au modèle courant.
Copyright (C) 2007. Sybase Inc. All rights reserved. |
![]() |