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))
hello !
j'ai collé un door/sensor (2) dans ma boîte aux lettres.
mais visiblement, j'ai un soucis de portée avec la HC3 qui est à une dizaine de mètre de BAL (à l'extérieur).
est-il possible que la BAL fasse cage de faraday ?
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.
c'est quoi le "ok" que tu passes comme argument aux fonctions ?
il n'y en a pas l'utilité !!
fait les enlever !
pour le print de la fonction résultat :
print(resultat())
et bien par exemple, j'ai une scène qui est déclenchée lors du passage à TRUE de tous mes FGMS;(j'ai tous les FGMS dans les conditions)
Si par exemple 2 FGMS passent à TRUE "simultanément", selon l'option de la scène :
- soit la première instance n'aura pas le temps de se terminer, et la deuxième instance se déroulera correctement.
- soit la première instance se termine, mais la deuxième ne sera pas exécutée
hello !
on en a déjà parlé, il me semble.
sur le HC3 il n'y a plus la notion d'instance de scène.
On peut grâce aux options de la scène, définir si la prochaine exécution annule et remplace la précédente, ou pas.
EDIT : dans ce dernier cas, la prochaine exécution sera tout simplement ignorée.
je rencontre certain cas bien précis où j'aurai bien aimé avoir la possibilité d'avoir plusieurs instances simultanément...
n'y a - t - il pas un moyen de pouvoir le faire ?
ou peut être d'une autre façon ?
Une autre approche ?
bien à vous !
le "do" fait partie de la fonction while.
c'est : while condition is true do. c'est comme ça.
ben dans la boucle while, tu places :
while i <= 50 do -- tant que i reste inférieur ou égal à 50
i = i + 1 -- on incrémente i
print(i)
if i >= 20 then
print("attention vous avez dépassées la barre de 20%")
break
end
end
j'ai mis volontairement 50 pour la condition du while, sinon ça sert à rien.
le "break" permet de sortir de la boucle, donc de ne pas continuer d'incrémenter
je pense que le module démarre la scène à chaque changement de sa valeur.
1,2,3...,48,49,50...
donc donc dans ce cas, pas besoin de boucle while true do. ça se prend les pieds dans le tapis...
Surtout que sur la HC2, tu peux avoir plusieurs instance de scène qui se lancent simultanément...
Ton second bout de code est ce qu'il faut faire.