jjacques68 602 Signaler ce message Posté(e) 2 mai 2020 il faut faire return de la variable a et de la variable b. Là tu ne fais que un retour de a... et pour les exploiter en-dehors de la fonction, il faut affecter le retour de ta fonction a des variables : local MonRetourA local MonRetourB MonRetourA, MonRetourB = coco(200,10) if MonRetourA == 220 then print("uuuuuuu") end if MonRetourB == ...... if MonRetourA + MonRetourB == ...... Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 2 mai 2020 Mon problème est pour le moment mon code if.... ne prend en charge que R1 qui est la multiplication function Calcul(x, y) local r1 = x * y local r2 = x + y return r1, r2 end if Calcul (2, 2) == 8 then print("ok pou R1") ----multiplication 2x2 elseif Calcul (10, 10) == 10 then print("R2 ") ---- adition 10 + 10 end Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 2 mai 2020 ok merci coco que je suis function Calcul(x, y) local r1 = x * y local r2 = x + y return r1, r2 end r1 = Calcul(10 , 10) r2 = Calcul(2, 2) if r1 == 1000 then print("ok pou R1") elseif r2 == 4 then print("R2 ") end 1 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 2 mai 2020 Tu ne devrais pas utiliser les même nom de variable dans ta fonction et hors de ta fonction. Là ça marche grâce au local que tu as mis dans la fonction, sinon... ... Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 2 mai 2020 Comme ça arbre = Calcul(10 , 10) arbre2 = Calcul(2, 2) if arbre == 100 then print("ok pou R1") elseif arbre2 == 4 then print("R2 ") end Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 2 mai 2020 ben au moins ça porte pas à confusion ! Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 2 mai 2020 Tu as raison il faut que je sois plus attentif aux variables Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 2 mai 2020 Quand tu programmes, la rigueur dans le choix du nom des variables, ainsi que leur portée, la visibilité des syntaxes et l'indentation est une chose très très importante ! là tu es sur des petit bout de code, le jour où tu fais plus gros, tu seras perdu en un rien de temps, et pas capable de debugger.... 1 Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 2 mai 2020 Je comprends Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 2 mai 2020 Mai avant de commencer un projet je réalise un plan. j’ai une app sur iOS très pratique pour remettre ses idées en place. Il s’agit de: MindNode 1 Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 (modifié) salut Aujourd'hui j'essaye de comprend le fonction et l'utilité des boucles FOR, while" et repeat. J'essaye de réalisée un clignotement avec un modul FIBARO (Value = 1 Value=0 .....) mai je ne sais pas quelle boucle utilisée.. et envoyer un break ou une condition pour STOP Modifié 4 mai 2020 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 4 mai 2020 (modifié) pour s'amuser, il te faut un module à faire clignoter, et un autre comme un interrupteur pour l'arrêter/démarrer. après tu fais : while le_module_interrupteur = 1 do --ton code de pour faire clignoter la lampe end tu mets le module interrupteur en trigger de la scène. s'il passe à 1, ça va clignoter, si tu le passe à 0, ça va s'arrêter. Modifié 4 mai 2020 par jjacques68 Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 ok je teste La semaine dernière j'ai crée une fonction pour incrémentée une variable globale, fonction qui fonctionne tresbien est-t-il possible de faire la même chose avec une variable LOCAL , Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 J'ai fait comme ça mai manque quelque chose local p = {} function p.variables() local variable = 1 variable = variable +1 return variable end if a == a then p.variables() end if p.variables() == 2 then print ("2") end Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 J'aurai souhaité que : if a == a then p.variables(valeur) end Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 4 mai 2020 pourquoi passer par une table ?? Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 C'est pour petit code plus simple, pour éviter de crée une variable globale Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 J’essaye d’aider un membre du forum qui cherche à faire une inversion entre s1 et s2 d’un module Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 Voilà ce que j’ai proposé Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 J'ai testé une fonction comme ça mai impossible d'exploiter le foncA si foncA = 20 alors.......ne fonctionne pas function foncA (z , x) resultat = z + x return resultat end local a = 100 if a == 100 then foncA (10, 10) print(resultat) end if foncA () == 20 then print("ok") end Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 4 mai 2020 (modifié) j'ai trouver function foncA (z , x) resultat_foncA = z + x return resultat_foncA end if a == a then foncA (20, 230) print(resultat_foncA) end local azerty = resultat_foncA if resultat_foncA == 250 then print("ok") end Modifié 4 mai 2020 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 5 mai 2020 Non je n'ai pas trouver pk print (foncA(resultat_A_foncA)) me renvoi 10 et 100 pour moi print (foncA(resultat_A_foncA)) = 100 et print (foncA(resultat_B_foncA)) = 10 function foncA (a , b) resultat_A_foncA = 100 resultat_B_foncA = 10 return resultat_A_foncA , resultat_B_foncA end print (foncA(resultat_A_foncA)) Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 5 mai 2020 (modifié) En gros je n'arrive à dissocier les deux argument avec un seul argument ça fonctionne function foncA (z ) arg_A = z return arg_A end local aze = 10 if aze == 10 then foncA (2) print(arg_A) end if arg_A == 2 then print("ok youppp") end Modifié 5 mai 2020 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 5 mai 2020 tu te mélanges à nouveau les pins eau avec les variables ! tu transmets, lors de l'appel de la fonction, un argument qui est le retour de la fonction ! et tu du coup tu n'utilises pas a et b dans ta fonction ! Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 5 mai 2020 (modifié) Si je souhaite affecter une valeur 2 à l’argument A : 1>>>> if ...... then foncA (2) ou 2>>>> if ....... then resultat_A_foncA (2) Et pour la lire 3>>>>. If resultat_A_foncA = 2 then..... ou 4>>>>. if fonc_A = 2 then ...... il y a une heure, 971jmd a dit : Non je n'ai pas trouver pk print (foncA(resultat_A_foncA)) me renvoi 10 et 100 pour moi print (foncA(resultat_A_foncA)) = 100 et print (foncA(resultat_B_foncA)) = 10 function foncA (a , b) resultat_A_foncA = 100 resultat_B_foncA = 10 return resultat_A_foncA , resultat_B_foncA end print (foncA(resultat_A_foncA)) function foncA (z) Modifié 5 mai 2020 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites