Réserver une Démo
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
Il est légal de référencer une variable avant qu'elle ne soit définie. 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 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)