for-each
La fonction for-each en Scheme applique une procédure à chaque élément d’une liste (ou de plusieurs listes). Contrairement à map, qui renvoie une nouvelle liste, for-each sert aux effets de bord : affichage, journalisation ou modification de variables.
La forme la plus simple de for-each :
(for-each procedure list)- Procédure : Fonction par élément.
- Liste : Liste à parcourir.
Exemple : afficher une liste
(define (print-item x)
(lumi-message (number->string x)))
(for-each print-item (list 1 2 3 4))print-itemest appliqué à(1 2 3 4).- Chaque nombre est affiché successivement.
Sortie : 1 2 3 4
Comment ça marche
- Parcourir chaque élément : La procédure s’exécute dans l’ordre.
- Effets de bord : Affichage, journalisation ou modification — sans nouvelle liste.
Plusieurs listes
Avec plusieurs listes, for-each traite les éléments correspondants.
(define (sum-and-print x y)
(lumi-message (number->string (+ x y))))
(for-each sum-and-print (list 1 2 3) (list 4 5 6))Sortie : 5 7 9
Résumé
for-eachconvient aux effets de bord sur chaque élément.- Contrairement à
map, pas de nouvelle liste. - Plusieurs listes simultanément.
Utilisez for-each lorsque l’action prime sur la transformation.