Cette macro permet une itération et une transformation des parties du template d'entrée, avec des parties délimitées par un motif séparateur.
.foreach_part (expression [,"separator" [,head [,tail]]]) simple-template .next[(separator)]
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 souvent utiliser pour appliquer des conventions de dénomination (voir "Conventions de dénomination" dans le chapitre 8, Personnalisation de votre environnement de modélisation du Guide des fonctionnalités générales ).
Les paramètres suivants sont disponibles :
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