Réserver une Démo
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
Il est légal de référencer une variable avant de la définir. Dans ce cas, la variable est supposée contenir une string vide valeur : " "

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)