jjacques68 Posté(e) le 2 mai 2020 Signaler Posté(e) le 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 == ......
971jmd Posté(e) le 2 mai 2020 Auteur Signaler Posté(e) le 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
971jmd Posté(e) le 2 mai 2020 Auteur Signaler Posté(e) le 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
jjacques68 Posté(e) le 2 mai 2020 Signaler Posté(e) le 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... ...
971jmd Posté(e) le 2 mai 2020 Auteur Signaler Posté(e) le 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
jjacques68 Posté(e) le 2 mai 2020 Signaler Posté(e) le 2 mai 2020 ben au moins ça porte pas à confusion !
971jmd Posté(e) le 2 mai 2020 Auteur Signaler Posté(e) le 2 mai 2020 Tu as raison il faut que je sois plus attentif aux variables
jjacques68 Posté(e) le 2 mai 2020 Signaler Posté(e) le 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
971jmd Posté(e) le 2 mai 2020 Auteur Signaler Posté(e) le 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
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 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é le 4 mai 2020 par 971jmd
jjacques68 Posté(e) le 4 mai 2020 Signaler Posté(e) le 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é le 4 mai 2020 par jjacques68
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 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 ,
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 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
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 4 mai 2020 J'aurai souhaité que : if a == a then p.variables(valeur) end
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 4 mai 2020 C'est pour petit code plus simple, pour éviter de crée une variable globale
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 4 mai 2020 J’essaye d’aider un membre du forum qui cherche à faire une inversion entre s1 et s2 d’un module
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 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
971jmd Posté(e) le 4 mai 2020 Auteur Signaler Posté(e) le 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é le 4 mai 2020 par 971jmd
971jmd Posté(e) le 5 mai 2020 Auteur Signaler Posté(e) le 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))
971jmd Posté(e) le 5 mai 2020 Auteur Signaler Posté(e) le 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é le 5 mai 2020 par 971jmd
jjacques68 Posté(e) le 5 mai 2020 Signaler Posté(e) le 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 !
971jmd Posté(e) le 5 mai 2020 Auteur Signaler Posté(e) le 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é le 5 mai 2020 par 971jmd
Messages recommandés