Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Les fonctions Ordinaires
Déclaration d'une fonction add qui additionne les deux arguments en paramètre
1
2
add :: Num a => a -> a -> a
Enter to Rename, Shift+Enter to Preview
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
Enter to Rename, Shift+Enter to Preview
La même chose mais en notation infix
1
2
addUse :: Num a => a
addUse = 0
Enter to Rename, Shift+Enter to Preview
Les opérateurs
Déclarez un opérateur // qui réalise la division entière de deux nombres
1
2
(//) :: Integral a => a -> a -> a
Enter to Rename, Shift+Enter to Preview
Utilisez votre opérateur avec les chiffres 3 et 2
1
2
operatorUse :: Integral a => a
operatorUse = 0
Enter to Rename, Shift+Enter to Preview
Le pattern matching
Utilisez les gardes pour écrire la fonction décrivant une suite de fibonacci
1
2
fib :: Int -> Int
Enter to Rename, Shift+Enter to Preview
Utilisez le filtrage par motif pour écrire la fonction décrivant une suite de fibonacci
1
2
fib :: Int -> Int
Enter to Rename, Shift+Enter to Preview
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
2
tupleAdd1ToFirstAnd2ToSecond :: Num a => (a, a) -> (a, a)
Enter to Rename, Shift+Enter to Preview
Utilisez le filtrage par motif pour écrire une fonction qui va appliquer une fonction à tous les éléments d'une liste
1
2
myMap :: (a -> b) -> [a] -> [b]
Enter to Rename, Shift+Enter to Preview
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
2
add2ToAllListElement :: Num a => [a] -> [a]
Enter to Rename, Shift+Enter to Preview
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
Enter to Rename, Shift+Enter to Preview
Faites la même chose que précédemment mais en utilisant l'opérateur +
1
add10 :: Num a => a -> a
Enter to Rename, Shift+Enter to Preview
Composition
Utilisez la composition pour implémenter foo (x) = 4 * (10 + x)
1
foo :: Int -> Int
Enter to Rename, Shift+Enter to Preview
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content