Je ssouhaite utiliser le Lua pour faire quelques programmes sur ma calculette afin d'optimiser l'utilisation de mon temps pendant les contrôles, j'ai donc commencé mon apprentissage avec le site inspired-lua.org en suivant les cours de Steve Arnold, cependant, il y a pas mal de choses qui me perturbent dès la leçon 4, je vais donc poster sur ce topic les différentes questions que je pourrais me poser au fil des cours, et je rajouterait les réponses aux questions sur ce post au fur et a mesure, de sorte que si quelqu'un suit le même chemin, il puisse trouver toutes les réponses au même endroit

j'espère qu'une bonne partie de la communauté participera à ce topic afin de le compléter au plus vite pour les prochains aprentis programmeur, et j’essaierai aussi de répondre aux questions qui seront posée (dans la limite de mes compétences ^^ )

Fubuki
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Voici donc les questions et leurs réponses






Or, comme une fonction est une variable, le fait de définir deux fois une fonction revient à faire a=1 puis a=2, en mémoire, a vaudra 2 et le a=1 sera comme innéxistant. il est donc "interdit" d'avoir deux fois la même fonction dans un programme, bien que cela ne fasse pas d'erreur puisqu'il y a un anti-bêtise qui va considérer uniquement la dernière déclaration de cette fonction, le seul problème sera donc que l'on prend de la place en mémoire pour rien.


- Code: Select all
local screen = platform.window
local answer = ""
local displayAnswer -- Comme on atribue pas de valeur à la variable, elle sera automatiquement initialisée à nil.
function on.enterKey() -- On choisit la touche entrer pour dire qu'on a fini.
displayAnswer = true -- Quand on appui sur entrer, la fonction on.enterKey est appelée, elle fait passer la variable displayAnswer de nil à true.
screen: invalidate() -- On demande un raffraichissement de l'écran.
end
function on.charIn(char)
if not displayAnswer then -- Tant que displayAnswer n'a pas de valeur, on peut continuer à écrire.
answer = answer..char
screen:invalidate()
end
end
function on.backspaceKey()
answer = answer:usub(0,-2)
screen:invalidate()
end
function on.paint(gc)
gc:drawString("Comment vous appelez vous ?? : ", 0, 20)
gc:drawString(""..answer, 225, 20)
if displayAnswer then -- Si displayAnswer renvoi true, alors on éxécute ce qui suit.
gc:drawString("Oh ! Vous êtes donc "..answer.." ! Anchanté monsieur !", 0, 40)
end
end
détails des questions et des réponses 1 à 4 : viewtopic.php?f=19&t=17460&p=191325#p191296 et viewtopic.php?f=19&t=17460&p=191325#p191301, merci à @technolapin