bonsoir , quelqu'un peut m'aider comment utiliser map en haskell?
bonsoir , quelqu'un peut m'aider comment utiliser map en haskell?
C'est une fonction d'ordre supérieure, autrement dit son premier paramètre est la fonction à appliquer à chaque élément de la liste donnée en second paramètre :
Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 f x = x * 2 liste = map f [1,2,3]
`map f [1,2,3]` produit donc la liste `[f 1, f 2, f 3]` c'est-à-dire `[2, 4, 6]`.
Note que dans cet exemple j'ai défini la fonction `f` à part mais on peut la définir localement :
ou en utilisant une lambda expression (fonction anonyme) :
Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 liste = map f [1,2,3] where f x = x * 2
ou même avec une section d'opérateur :
Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 liste = map (\x -> x * 2) [1,2,3]
Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 liste = map (*2) [1,2,3]
Il est bien sûr possible d'utiliser des fonctions des librairies :
Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 longueurDesTextes = map length listeDeTextes
--
Jedaï
Partager