Difficile me semble-t-il de faire plus simple.
Vous choisissez une lettre ou plusieurs, écrit en CAPITALES ou en minuscules, peu importe, du moment qu'il ne commence pas par un chiffre.
local b1 sera valable, alors que local 1b sera rejeté, tout comme sera rejeté toutes variables utilisant un " mot-clé ", tel que définie ci-dessous:
and break do else elseif end false for if in local nil not repeat then return true or until while function
Il faut savoir aussi que Lua est sensible à la casse, ce qui signifie que si and est un mot réservé et donc interdit, rien ne vous empêche d'utiliser And ou AND ou aNd etc.. qui sont eux différents et donc valides.
Sachez aussi que, par convention, les noms commençant par un caractère de soulignement suivi par des lettres capitales (comme _VERSION) sont réservés aux variables globales internes, utilisées par Lua.
Et que généralement, les lettres CAPITALES sont réservées pour les valeurs constantes. ( qui sont des " variables " qui ne varient pas ! )
Tout peut être déclaré comme variable: Un nom, une fonction, une table...
Déclaration d'une table: local nomTable = {}
Déclaration d'une fonction: local function NomFonction() .. .. .. end
Déclaration d'un chiffre: local x = 235
Déclaration d'un nom: local x = "poubelle"
Déclaration d'une string: local x = "La cigale ayant chanté tout l'été ... "
Déclaration d'une constante: local CECI_EST_UNE_VARIABLE_FIXE = 123456
.. etc.