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, // Attributs\n,\n\n)
%DataType% %Code%
.if (%InitialValue%)
= %InitialValue%
.endif
.next(\n)
.foreach_item(Operations, // Opérations\n,\n\n)
%ReturnType% %Code%(...)
.next(\n)
<Source>
}
Résultat
:class "C1" {// Attributs
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," // Attributs\n",\n) |