Aller au contenu

j'apprend le LUA mai


Messages recommandés

Posté(e) (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é par jjacques68
Posté(e)

J'essaye de comprendre comment fonctionne une fonction et visiblement ça monte et descend :D

 

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  

 

Capture.JPG.da6aef3e3feb7a75199031f4a5172155.JPG

 

 

 

Posté(e) (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é par 971jmd
Posté(e)
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...

Posté(e)

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))

 

  • Like 1
Posté(e)

ok

Je bug un peu moins :D 

mais là où je bug c'est de récupérer le résultat dans une autre fonction et l'affichée 

Posté(e) (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é par jjacques68
Posté(e)

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 

Posté(e)

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

Posté(e) (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

 

 

Capture2.thumb.JPG.db682b56a009f03f3411c707e7673794.JPG

Modifié par 971jmd
Posté(e) (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é par jjacques68
Posté(e) (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é par 971jmd
Posté(e)

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

 

Posté(e)

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)

 

×
×
  • Créer...