Les chaînes d'en-tête et de fin dans un bloc de macro ne sont générés que lorsque nécessaire. Si le bloc ne renvoie rien, les chaînes d'en-tête et de fin n'apparaissent pas, ce qui peut aider à contrôler la création de nouvelles lignes.
| Exemple |
|---|
Le texte et les nouvelles ligne dans l'en-tête et
la fin de chaque boucle .foreach_item ne sont imprimés que si la collection
n'est pas vide. Lorsque ce template est appliqué à une classe avec
des attributs mais sans opération, le texte // Opérations et les nouvelles lignes
spécifiées avant et après la liste des opérations ne sont pas
imprimés
:class "%Code%" {
.foreach_item(Attributes, // Attributes\n,\n\n)
%DataType% %Code%
.if (%InitialValue%)
= %InitialValue%
.endif
.next(\n)
.foreach_item(Operations, // Operations\n,\n\n)
%ReturnType% %Code%(...)
.next(\n)
<Source>
}
Résultat
:class "C1" {// Attributes
int a1 = 10
int a2
int a3 = 5
int a4
<Source>
}
Remarque : Pour imprimer un espace vide entre l'accolade et
la chaîne //
Attributs, vous devez encadrer la chaîne d'en-tête
de guillemets
:
.foreach_item(Attributes," // Attributes\n",\n) |