[..] Fonction callback

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

[..] Fonction callback

#1

Message par jcaspar »

B :D onjour à tous !

Je viens vous poser une question sur l'usage des fonctions callback ...
pouvez vous svp m'expliquer l'intéret de placer en paramétres d'une fonction
une autre fonction comme dans l'exemple basic ci dessous ...

En vous remerciant pour les explications que vous pourrez me transmettre. :mrgreen:


Jean-Marc

Code : Tout sélectionner


Local $nom
Local $toto=test($nom)

Func test($nom)
        MsgBox(64,"titre",$nom)
EndFunc


Func titi($toto)
EndFunc


titi(test("jmc"))

 
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fonction callback

#2

Message par jguinch »

Ca permet d'alléger un peu le code et éviter de se traîner des variables inutiles...
Par exemple :
► Afficher le texte
Ces deux exemples ont le même but : récupérer le texte contenu dans une URL.
Dans l'exemple 1, on passe par une variable de type Binary, qu'on converti ensuite en String.
Comme ce qui nous intéresse est de récupérer le texte, on peut se passer de la variable $bData et aller directement à l'essentiel.
L'inconvénient est qu'on ne contrôle pas ce que retourne $bData, donc pas de gestion d'erreur.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Fonction callback

#3

Message par jchd »

jcaspar,

Il n'y a aucun "callback" dans ton code, seulement une fonction qui utilise comme argument le résultat d'une autre fonction. Pas plus dans l'exemple de jguinch, d'ailleurs.

Un "callback" est un objet "fonction" passé en paramètre et invoqué depuis la fonction appelée.

Code : Tout sélectionner

Local $fonction = StringReverse
Local $str = "Voici une chaîne"

ConsoleWrite(Mystery($str, $fonction) & @LF)
$fonction = StringUpper
ConsoleWrite(Mystery($str, $fonction) & @LF)


Func Mystery($s, $callback)
    Return($callback($s))
EndFunc
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fonction callback

#4

Message par jguinch »

C'est vrai JC, je n'ai pas prêté attention au terme "callback" employé dans le premier post.
Ceci dit, belle démonstration.

jcaspar, ta question était-elle par rapport au "callback" ou par rapport à l'appel d'une fonction avec une autre fonction en paramètre ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

Re: [..] Fonction callback

#5

Message par jcaspar »

J :mrgreen: e vous remercie pour vos réponses !
Ma question se situe au niveau du concept de callback mon but étant de comprendre
son fonctionnement et ses usages ...
Modifié en dernier par jcaspar le mar. 01 juil. 2014 17:58, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Fonction callback

#6

Message par mikell »

Le doublon n'est pas un exemple de callback :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre