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) |