Nightclazz Zenika Bordeaux

Civodul
1,242 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content
Previous: Les tuples

Les fonctions Ordinaires

Déclaration d'une fonction add qui additionne les deux arguments en paramètre
1
add :: Num a => a -> a -> a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Utilisez votre fonction déclarée précédemment pour faire l'addition de 1 et 2
1
2
addUse :: Num a => a
addUse = 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
La même chose mais en notation infix
1
2
addUse :: Num a => a
addUse = 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Les opérateurs

Déclarez un opérateur // qui réalise la division entière de deux nombres
1
(//) :: Integral a => a -> a -> a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Utilisez votre opérateur avec les chiffres 3 et 2
1
2
operatorUse :: Integral a => a
operatorUse = 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Le pattern matching

Utilisez les gardes pour écrire la fonction décrivant une suite de fibonacci
1
fib :: Int -> Int
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Utilisez le filtrage par motif pour écrire la fonction décrivant une suite de fibonacci
1
fib :: Int -> Int
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Utilisez le filtrage par motif pour écrire une fonction qui prend en entrée un tuple de deux entiers et qui ajoute 1 au premier élément et 2 au second
1
tupleAdd1ToFirstAnd2ToSecond :: Num a => (a, a) -> (a, a)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Utilisez le filtrage par motif pour écrire une fonction qui va appliquer une fonction à tous les éléments d'une liste
1
myMap :: (a -> b) -> [a] -> [b]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fonctions anonymes

Utilisez la fonction map (Data.List) et une fonction anonyme pour ajouter 2 à tout les éléments de la liste en paramètre
1
add2ToAllListElement :: Num a => [a] -> [a]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Application partielle

Créez une fonction qui ajoutera 10 en utilisant une application partielle de la fonction add définie précédemment
1
add10 :: Num a => a -> a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Faites la même chose que précédemment mais en utilisant l'opérateur +
1
add10 :: Num a => a -> a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Composition

Utilisez la composition pour implémenter foo (x) = 4 * (10 + x)
1
foo :: Int -> Int
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content