Déjà, si tu expliquais concrètement ce que tu veux faire, ce serait bien. Je n'ai pas compris grand'chose au besoin exprimé.
Ceci dit, tu peux regarder du côté des "list comprehensions" qui existent comme certains langages comme Python.
Par exemple ton code :
res : liste d'objet CNN // type donné par select
pour chaque Figure.ListeDeCNN
i : entier
pour chaque Figure.ListeDeCNN[i].Property
j : entier
si Figure.ListeDeCNN[i].Property[j].NomValeur == "SEE_CNN" alors
res.ajoute(Figure.ListeDeCNN[i]) // type de select
fin si
fin pour
fin pour
pourrait s'écrire à peu près (en Python) :
[CNN
for CNN in Figure.ListeDeCNN
for prop in CNN.Property
if prop.NomValeur == "SEE_CNN"]
(j'ai ajouté des retours chariots pour rendre l'enchaînement plus lisible mais le tout est une expression unique qui peut s'écrire sur une seule ligne)
# Heu...
Posté par Antoine . En réponse au journal Création du projet "OQLToLang". Évalué à 2.
Ceci dit, tu peux regarder du côté des "list comprehensions" qui existent comme certains langages comme Python.
Par exemple ton code :
res : liste d'objet CNN // type donné par select
pour chaque Figure.ListeDeCNN
i : entier
pour chaque Figure.ListeDeCNN[i].Property
j : entier
si Figure.ListeDeCNN[i].Property[j].NomValeur == "SEE_CNN" alors
res.ajoute(Figure.ListeDeCNN[i]) // type de select
fin si
fin pour
fin pour
pourrait s'écrire à peu près (en Python) :
[CNN
for CNN in Figure.ListeDeCNN
for prop in CNN.Property
if prop.NomValeur == "SEE_CNN"]
(j'ai ajouté des retours chariots pour rendre l'enchaînement plus lisible mais le tout est une expression unique qui peut s'écrire sur une seule ligne)