jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 (modifié) ok pour l'enchaînement de fonctions. mais attention à ne pas mettre d'arguments lors de l'appel si tu n'en déclares pas... ensuite quand on appelle une fonction, il faut toujours mettre les (). Sinon elle est interprétée comme une variable et non une fonction. mais logiquement tu devrais utiliser "return", j'ai un doute sur le fonction de tout ça... mafonction() retournera true ou false. resultat() retournera mafonction() donc true ou false. Modifié le 25 avril 2020 par jjacques68
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 ok je bosse avec ce lien : http://wxlua.free.fr/Tutoriel_Lua/Tuto/Fonctions/resultats.php 1
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 J'essaye de comprendre comment fonctionne une fonction et visiblement ça monte et descend La fonction s'appelle : calcul mai dans une variable local en N°1 En 9 on luit affecte une valeur x et y En 12 on l'appelle Et en 5 impressions du résultat
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 tu n'a pas besoin du "local" devant la fonction.
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 (modifié) Effectivement j'ai vue des fonctionne avec variable local et d'autre sans function NomFonction(arg1, arg2) -- Corps de la fonction qui calcule x et y return x, y end local var1, var2 = 0, 0 -- Affectation multiple var1, var2 = NomFonction(param1, param2) -- Appel de la fonction Modifié le 25 avril 2020 par 971jmd
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 dans la fonction, tu enlève le print, et tu fais à la place : return total et lors de l'appel, tu fais : print("calcul = "..Calcul(param1, param2))
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 il y a 2 minutes, 971jmd a dit : Effectivement j'ai vue des fonctionne avec variable local et d'autre sans c'est pour des cas bien particulier, pas forcément utile pour le moment...
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 comme ça -- la fonction Calcul reçoit 2 arguments (x et y) local function Calcul(x, y) local total = x * y return total end -- Affectation multiple local param1, param2 = 25, 13 -- On appelle la fonction Calcul en lui passant 2 paramètres print("calcul = "..Calcul(param1, param2)) 1
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 ok Je bug un peu moins mais là où je bug c'est de récupérer le résultat dans une autre fonction et l'affichée
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 (modifié) ben c'est pareil : -- la fonction Calcul reçoit 2 arguments (x et y) local function Calcul(x, y) local total = x * y return total end function AutreFunction(arg) return arg end -- Affectation multiple local param1, param2 = 25, 13 -- On appelle la fonction Calcul en lui passant 2 paramètres -- en passant par la fonction AutreFunction() print("calcul = "..AutreFunction(Calcul(param1, param2)) Modifié le 25 avril 2020 par jjacques68
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 ok Mais ce que je voulais dire c'est d'exploitée ma méthode de calcul de la fonction calcul dans une autre fonction
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 Imagine Que ma 1ère fonction me serve de référence de mode de calcul pour d'autre fonction dans le code. exemple : ma 1er fonction qui s'appelles toto et son monde de calcule est ( x* y ) et plus bas da
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 mais tu peux l'appeler dans une autre fonction sans soucis !
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 Imagine Que ma 1ère fonction me serve de référence de mode de calcul pour d'autre fonction dans le code.
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 (modifié) Je ne vais pas te retenir plus longtemps il doit être très tard de votre cotée. Juste une dernière chose Je n'arrive pas comprendre les règles suivantes 1 et 2 je comprends pas à quoi correspond R1, R2... Si tu peux m'expliquer la règle N°1 Modifié le 25 avril 2020 par 971jmd
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 (modifié) R1 et R2 sont des variable locale à la fonction. exactement comme ta variable "total" dans la fonction "calcul". dans l'exemple, ils 'n'ont pas mis le traitement effectué, mais ça pourrrait être par exemple : local R1 = x * y local R2 = x + y regarde dans nos précédent exemple... Modifié le 25 avril 2020 par jjacques68
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 (modifié) ok ce qui donne : function Nom_de_votre_fonction(arg1, arg2, ...) -- ici le corps de la fonction local R1 arg1 * arg1 return R1 end end et function Nom_de_votre_fonction(arg1, arg2, ...) -- ici le corps de la fonction local R1 arg1 * arg1 local R2 arg1 / arg1 return R1, R2 end end Modifié le 25 avril 2020 par 971jmd
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 non attention : function Nom_de_votre_fonction(arg1, arg2) -- ici le corps de la fonction local = R1 arg1 * arg1 local = R2 arg1 / arg1 return R1, R2 end
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 Oui, Je viens de voir mon erreur
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 J'ai testé comme ça mai je n'ai pas résultat de R2 -- la fonction Calcul reçoit 2 arguments (x et y) function Calcul(x, y) local r1 = x * y local r2 = x + y return r1, r2 end -- Affectation multiple local param1, param2 = 100, 100 -- On appelle la fonction Calcul en lui passant 2 paramètres print("Le total est = "..Calcul(param1, param2)
Messages recommandés