Pré. | Proc. |
variables
Les variables Gabarit fournissent 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 des valeurs de :
- Macros de substitution, de fonction ou de liste
- Littéraux de String , 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 en début de ligne, sans aucun espace blanc 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'affectation d'addition (+=)
- 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"%
Utilisation d'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"%
Utilisation de l'opérateur d'affectation d'addition (+=) :
$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="ClassParameter" @separator=", "%
$template ="template< " + $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 variable
- En tant que substitution directe de la variable valeur dans la sortie
Références variables - Exemple 1
Utilisation de variables dans le cadre d'une macro. Ceci est un extrait du gabarit C++ gabarit par défaut.
$wrapLen = %genOptWrapComment%
$style = %genOptCPPCommentStyle% (Définir les variables pour stocker les options de style et de longueur de bouclage)
%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)
%fin si%
Références variables - Exemple 2
Utilisation de références de variable dans le cadre d'une définition de variable.
$foo = "foo" (Définir nos variables)
$bar = "bar"
$foobar = $foo + $bar ($foobar maintenant contient la valeur foobar)
Références variables - Exemple 3
Substitution de valeurs variables dans la sortie.
$bases=%classInherits% (Mémoriser le résultat du gabarit dans $bases)
Classe %className%$bases (affiche maintenant la valeur de $bases après le nom de la classe)