hook?

Le
Mihamina Rakotomandimby
Bonjour, (suivi sur fr.comp.developpement)

Dans Emacs et certains exemples de code dans divers langage que j'ai
rencontré, je vois des "hook".
Qu'est-ce que c'est que les "hook"?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain Ketterlin
Le #21781801
Mihamina Rakotomandimby
Dans Emacs et certains exemples de code dans divers langage que j'ai
rencontré, je vois des "hook".
Qu'est-ce que c'est que les "hook"?



Ca veut dire crochet, ça permet de d'indiquer des fonctions qui seront
appelées par une autre fonction (tu accroches des fonctions à la
fonction cible). Par exemple, find-file-hook contient une liste de
fonctions appelées après que find-file a fait son travail.

Bien sûr, les détails de l'utilisation dépendent de ce que le langage
utilisé appelle une "fonction". En Lisp (et dans les langages
fonctionnels en général), c'est facile d'utiliser des fonctions comme
des variables, voire d'en créer à la volée etc. Dans d'autres
langages, c'est plus ou moins facile : par exemple, en Java, tu as un
mécanisme similaire dans Swing, mais ça s'appelle des listeners, et ce
sont des objets implémentant une certaine interface, c'est-à-dire
définissant une certaine méthode qui sera appelée au moment de
l'activation du "hook" (l'appel de la dite méthode sur chaque
listener). Si jamais le hook a besoin de données (hors celle transmise
par le protocole d'appel), en Java tu les mettrais dans l'objet
listener, en Lisp and co. tu utiliserais une fermeture ("closure").

-- Alain.

P/S: j'ignore le follow-up parce que mon serveur ne connait pas
fr.comp.developpement
Publicité
Poster une réponse
Anonyme