Chapter 5 Personnalisation de la génération à l'aide du langage de génération par template
Cette macro procède à l'itération sur la partie du template en entrée spécifiée comme premier argument de la macro. Le template spécifié dans le bloc est converti pour chaque partie de l'entrée.
.foreach_part (input [,"séparateur-pattern" [,en-tête [,fin]]]) template-simple .next[(séparateur)]
Cette macro crée une nouvelle portée dans laquelle la variable locale CurrentPart est définie comme la i-ème partie du template en entrée à l'itération i. La variable locale Separator contient le séparateur suivant.
Cette macro est particulièrement utile lorsque vous travaillez sur les conventions de dénomination.
Pour plus d'informations les conventions de dénomination, voir "Conventions de dénomination" dans le chapitre Modèles du Guide des fonctionnalités générales.
Les paramètres suivants sont disponibles :
Paramètre | Description |
---|---|
entrée | Texte en entrée sur lequel l'itération est effectuée
Type : Template simple |
séparateur-motif | Séparateurs de caractères et de mots
Par exemple, le motif suivant " -_,[A-Z]" spécifie que chaque partie peut être séparée par un espace, un tiret, un trait de soulignement, une virgule ou un caractère compris entre A et Z (majuscule). Par défaut, le séparateur-est initialisé avec le motif (). Si le motif spécifié est vide, le motif est initialisé à l'aide de la valeur par défaut. Un séparateur séparateur peut être concaténé entre chaque partie. Les expressions en-tête et fin peuvent être ajoutées respectivement au début ou à la fin de l'expression générée. Il existe deux types de séparateur :
Valeur par défaut : " -_,\t" Type : Texte |
en-tête | [facultatif] Généré avant le résultat, s'il y en a un
Type : Texte |
fin | [facultatif] Ajouté au résultat, s'il y en a un
Type : Texte |
template-simple | Template à appliquer à chaque partie.
Type : Template complexe |
séparateur | [facultatif] Généré entre évaluations non vides de template-complexe
Type : Texte |
Exemples :
Convertit un nom en code de classe (conventions de dénomination Java). Dans l'exemple suivant, la variable %Name% équivaut à Employee shareholder', et est convertie en EmployeeShareholder :
.foreach_part (%Name%, " _-'") %.FU:CurrentPart% .next
Convertit un nom en code d'attribut de classe (conventions de dénomination Java). Dans l'exemple suivant, la variable %Name% équivaut à Employee shareholder, et est convertie en EmployeeShareholder :
.set_value(_First, true, new) .foreach_part(%Name%,"' _-'") .if (%_First%) %.L:CurrentPart% .set_value(_First, false, update) .else %.FU:CurrentPart% .endif .next
Copyright (C) 2008. Sybase Inc. All rights reserved. |
![]() |