Dans la partie de 3 : Nous allons utiliser le functor Maybe avec l’instruction bind
.
Soit le tableau suivant.
1 2 3 4 5 |
|
nous voulons afficher une liste avec une titre et et une image.
Nous allons utilisez la fonction suivante
1 2 3 4 5 6 |
|
Exemple d’utilisation.
1 2 3 4 |
|
Le résultat
1 2 3 |
|
Pour extraire les images utilisons notre Maybe
1 2 3 4 5 6 |
|
Le résultat
1 2 3 |
|
Avec le bind
Ré-ecrivons pour utiliser le bind. (Nous utilisons l’idée que la fonction que j’injecte dans le container renvoie elle-mème un Some
ou Nothing
)
1 2 3 4 5 6 |
|
La fonction devient.
1 2 3 4 5 6 |
|
En conclusion
- Si j’utilise la fonction
map
(parfois on parle aussi defmap
) j’utilise le Maybe en tant que Functor. - Si j’utilise la fonction
bind
j’utilise le Maybe en tant que Monad.
Nous allons continuer notre voyage avec les listes dans le prochain post.
- Partie 1 : Monade/Functor
- Partie 2 : Le functor Maybe
- Partie 3 : Le functor Maybe avec le Bind
- Partie 4 : Les listes
- Interlude : Les évaluations partielles
- Partie 5 : Les applicatives
- Partie 6 : Les applicatives et les listes