UpsKrn.Liste.Appliquer

Procedure Appliquer(Traitement : Nul Ou Procedure(O : Nul Ou TypeElement));

Procedure Appliquer(Traitement : Nul Ou Procedure(O1 : Nul Ou TypeElement, O2 : Nul Ou Objet), L : Nul Ou Liste(Nul Ou Objet));

Fonction Optimiser(NulAbsorbant) Appliquer(Traitement : Nul Ou Fonction(O : Nul Ou TypeElement) Retourner Nul Ou TypeElement) Retourner Nul Ou Liste(Nul Ou TypeElement);

Fonction Optimiser(NulAbsorbant) Appliquer(Traitement : Nul Ou Fonction(O1 : Nul Ou TypeElement, O2 : Nul Ou Objet) Retourner Nul Ou TypeElement, L : Nul Ou Liste(Nul Ou Objet)) Retourner Nul Ou Liste(Nul Ou TypeElement);

Description

La méthode Appliquer permet d'appliquer le traitement Traitement à chaque élément de la liste. La liste est parcourue du premier élément au dernier.

Si Traitement est une procédure, alors il n'y a pas de résultat. Si Traitement est une fonction, alors le résultat est la liste composée des résultats des appels.

Si Traitement possède un paramètre, alors seule la liste sur laquelle s'applique la méthode Appliquer est parcourue. Si Traitement possède deux paramètres, alors la liste sur laquelle s'applique la méthode Appliquer et la liste L sont parcourues en parallèle. Le parcours s'arrête alors au dernier élément de la plus courte des deux.

Si Traitement est une procédure ou une fonction à un argument, alors le type de son paramètre doit être identique au type des éléments de la liste.

Si Traitement est une procédure ou une fonction à deux arguments, alors le type de son premier paramètre doit être identique au type des éléments de la liste et celui de son second paramètre doit être identique au type des éléments de la liste L.

Si la liste est nulle, si Traitement est Nul ou si L est Nul, alors le résultat est Nul.

Exemple

Type Personne Defaut
/******************/
Fin Type

/****************************************************************/
Procedure AfficherPersonne(P : Nul Ou Personne)
/* Objet : Affiche une personne. */
/****************************************************************/
Debut
Ecran.Ecrire(P.Nom+":"+Caractere(P.Date));
Fin Procedure

Principal
/*******/
Variable
/******/
Debut
...
L.Appliquer(AfficherPersonne);
/* Affiche les noms et les dates de naissances des personnes. */
...
Fin Principal

Traduction

---------