Page 1 sur 1
[..] Fonction callback
Posté : ven. 27 juin 2014 11:39
par jcaspar
B
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.
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"))
Re: [..] Fonction callback
Posté : ven. 27 juin 2014 13:18
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
Exemple 1 :
Code : Tout sélectionner
Local $bData = InetRead("http://www.autoitscript.com/autoit3/files/beta/update.dat")
Local $sData = BinaryToString ( $bData )
Exemple 2 :
Code : Tout sélectionner
Local $sData = BinaryToString ( InetRead("http://www.autoitscript.com/autoit3/files/beta/update.dat") )
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.
Re: [..] Fonction callback
Posté : ven. 27 juin 2014 13:24
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
Re: [..] Fonction callback
Posté : ven. 27 juin 2014 13:29
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 ?
Re: [..] Fonction callback
Posté : mar. 01 juil. 2014 09:27
par jcaspar
J

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 ...
Re: [..] Fonction callback
Posté : mar. 01 juil. 2014 13:49
par mikell
Le doublon
n'est pas un exemple de callback
