Pré. | Proc. |
Variables
Les variables Gabarit offrent un moyen pratique de stocker et de récupérer des données dans un gabarit . Cette section explique comment les variables sont définies et référencées.
Définitions des variables
Les définitions de variables prennent la forme de base :
$<nom> = <valeur>
où <nom> peut être n'importe quelle séquence alphanumérique et <valeur> est dérivé d'une macro ou d'une autre variable.
Un exemple simple de définition serait :
$foo = %className%
Les variables peuvent être définies à l'aide de valeurs provenant de :
- Substitution, fonction ou macros de liste
- Littéraux String , placés entre guillemets doubles
- Références variables
Règles de définition
Ces règles s'appliquent aux définitions de variables :
- Les variables ont une portée globale dans le gabarit dans lequel elles sont définies et ne sont pas accessibles aux autres gabarits
- Chaque variable doit être définie au début d'une ligne, sans aucun espace intermédiaire
- Les variables sont indiquées en préfixant le nom avec $, comme dans $foo
- Les variables n'ont pas besoin d'être déclarées avant d'être définies
- Les variables doivent être définies à l'aide de l'opérateur d'affectation (=) ou de l'opérateur d'addition-affectation (+=)
- Plusieurs termes peuvent être combinés dans une seule définition à l'aide de l'opérateur d'addition (+)
Exemples
Utilisation d'une macro de substitution :
$foo = %opTag:"bar"%
En utilisant une string littérale :
$foo = "barre"
En utilisant une autre variable :
$foo = $bar
Utilisation d'une macro de liste :
$ops = %list="Opération" @separator="\n\n" @indent="\t"%
En utilisant l'opérateur d'addition-affectation (+=) :
$body += %list="Opération" @separator="\n\n" @indent="\t"%
Cette définition est équivalente à :
$body = $body + %list="Opération" @separator="\n\n" @indent="\t"%
Utilisation de plusieurs termes :
$templateArgs = %list="Paramètre de classe" @séparateur=", "%
$template = "modèle< " + $templateArgs + "> "
Références variables
Les valeurs des variables peuvent être récupérées en utilisant une référence de la forme :
$<nom>
où <nom> peut être une variable précédemment définie.
Des références variables peuvent être utilisées :
- Dans le cadre d'une macro, comme l'argument d'une macro de fonction
- En tant que terme dans une définition de variable
- En tant que substitution directe de la valeur de la variable dans la sortie
Références variables - Exemple 1
Utilisation de variables dans le cadre d'une macro. Ceci est un extrait du gabarit par défaut de C++ ClassNotes.
$wrapLen = %genOptWrapComment%
$style = %genOptCPPCommentStyle% (Définir des variables pour stocker les options de style et de longueur d'habillage)
%if $style == "XML.NET"% (Référence à $style dans le cadre d'une condition)
%XML_COMMENT($wrapLen)%
%autre%
%CSTYLE_COMMENT($wrapLen)% (Référence à $wrapLen comme argument de la macro de fonction)
%finSi%
Références de variables - Exemple 2
Utilisation de références de variables dans le cadre d'une définition de variable.
$foo = "foo" (Définir nos variables)
$bar = "barre"
$foobar = $foo + $bar ($foobar contient maintenant la valeur foobar)
Références de variables - Exemple 3
Substitution de valeurs de variables dans la sortie.
$bases=%classInherits% (Stocker le résultat du gabarit ClassInherits dans $bases)
Classe %className%$bases (affiche maintenant la valeur de $bases après le nom de la classe)