Il est possible et conseillé d’organiser son code dans différents fichiers .lua afin d’aérer. Puis il suffit d’appeler ce fichier grâce à un « require » :
Exemple après la création d’un fichier game.lua, saisissez dans le fichier main.lua :
require (« game »)
Quant à la portée (« scope« ) d’une variable, elle peut être globale c’est à dire utilisée dans tout le code ou alors « local » ce qui signifie qu’elle n’est utilisable que dans le fichier ou la fonction dans laquelle elle a été crée.

L’exemple ci-dessus montre bien l’ordre d’exécution des différents « print » et ainsi la portée de chaque test qui prend différentes valeurs selon le lieu où cette variable a été crée et sa portée, local ou global.
Pour qu’une fonction prenne une valeur, on la lui retourne « return«

Comme vu ci-dessus, une fois qu’une fonction s’est vu retourner une valeur, elle peut être elle-même réutilisée dans une autre fonction.