Chapitre 09 - Higher order functions Flashcards
Quelle est la particularité du traitement des fonctions en programmation fonctionnelle
En programmation fonctionnelle, on va traiter les fonctions comme des valeurs passable en paramètre, en retour de fonction, dans n’importe quelle structure de donnée
Qu’est-ce qu’on appelle une higher-order functions
C’est une fonction qui utilise une fonction en paramètre ou qui retourne des fonctions
En quoi les higher order functions sont utiles
Elle permet d’ajouter des critères à par exemple une recherche en donnant la méthode qui fait le calcul de l’égalité
Quelle est la manière usuelle de faire des fonctions sans les déclarer explicitement
On va utiliser la notation lambda ou des fonctions anonymes
Que veut dire currying ou curried fonctions
Currying veut dire transformer une fonction à plusieurs paramètre en une suite d’appel qui renvoie une fonction avec le paramètre suivant
Une fonction curried, a un argument et renvoie une fonction qui utilise la valeur de l’argument
Exemple de fonction curried
Plus(x,y) => x + y
Plus(x)(y) => Plus(x) renvoie une fonction fait la somme de x (valeur fixe) avec y
Différence entre méthodes et fonctions
En programmation fonctionnelle une fonction est un objet pas une méthode
Sinon une méthode s’applique sur un objet ou alors ne renvoie pas de valeur mais agit sur l’objet en POO
Qu’est-ce qu’une closure?
C’est une fonction qui se rappelle des variables dans le contexte ou elle a était défini ou qu’elle soit exécuté après
Pourquoi parle t’on d’inversion du contrôle en programmation fonctionnelle
Les fonctions higher-order contrôle le flux en appelant quand le besoin est là le callback (function). C’est un peu loin de l’habituelle façon de programmer itérative