Les "chuncks".
L'unité d'exécution de Lua est appelé "chunk".
Et comme l'indique le titre, un "chunk" n'est ni plus ni moins qu'un morceau de code.
Un morceau de code, représente une séquence d'instructions, qui sont exécutées séquentiellement.
Chaque séquence, peut être éventuellement suivie d'un point-virgule ( ; ).
Ce n'est absolument pas une obligation, vous faites comme vous le sentez.
Avec ou sans, c'est pareil... sauf sur une même ligne ou le point virgule est OBLIGATOIRE pour séparer deux séquences.
Lua gère un morceau de code comme le corps d'une fonction anonyme avec un nombre variable d'arguments.
En tant que tel, des "chunks" peuvent recevoir des variables locales, des arguments et des valeurs de retour.
Un "chunk" peut être stocké dans un fichier ou dans une chaîne de caractères à l'intérieur du programme hôte.
Pour exécuter un "chunk", Lua pré-compile premièrement le "chunk" en instructions pour la machine virtuelle, puis exécute le code compilé avec un interpréteur.
Les blocs.
Un bloc est constitué d'une liste de déclarations.
Syntaxiquement, un bloc est équivalent à un "chunk".
Un bloc peut être explicitement délimité pour produire une seule déclaration, comme par exemple:
do ... bloc ... end
Les blocs explicites sont utiles pour contrôler la portée de déclaration des variables.
Ils sont aussi parfois utilisés pour ajouter un return ou un break dans le milieu d'un autre bloc.
La notion de " bloc " est importante, car c'est elle qui détermine la portée des variables locales. Vous y reviendrez lorsque vous aborderez les variables.
Mais en attendant, et pour peut-être mieux fixer les esprits, quelques exemples de "blocs".
Ne pas oublier qu'un bloc peut aussi contenir un ou plusieurs autre blocs, qui peuvent aussi contenir d'autres blocs...
do ... bloc ... end function nomFonction() ... bloc ... end for ... bloc ... end if condition then ... bloc ... end while ... bloc ... end repeat ... bloc ... until et bien évidement, le fichier "nomProgramme.lua" qui est le bloc principal renfermant tous les autres blocs.