# Sintaxis básica En este apartado vamos a repasar la sintaxis básica de Lua. ### Comentarios de una sola línea Escribe el caracter `-` (guion) dos veces al inicio de la línea: ```lua -- Este es un comentario de una sola línea ``` --- ### Comentarios multilínea Usa la combinación: ```lua --[[ Este es un comentario en múltiples líneas. ]]-- ``` --- ### Identificadores Los identificadores son los nombres usados para las variables, funciones, módulos, etc. Lua define una serie de requisitos para la definición de identificadores. Los caracteres permitidos son: - Letras mayúsculas (A-Z) - Letras minúsculas (a-z) - Guiones bajos (\_) - Números (0-9) Los identificadores deben comenzar obligatoriamente por una letra mayúscula, minúscula o guion bajo (\_), seguidas de cero o más caracteres alfanuméricos. Ten en cuenta que Lua diferencia las mayúsculas de las minúsculas, así, el identificador `miVariable` es diferente del identificador `MiVariable`. Algunos ejemplos de identificadores válidos son: ```lua myVariable contador1 Verificar_Valor _temporal i1 j indice TEST ``` --- ### Palabras reservadas Lua, al igual que todos los lenguajes de programación, define una serie de palabras que están reservadas para Lua. Todas estas palabras constituyen las instrucciones básicas del lenguaje de programación de Lua y no se pueden usar para definir identificadores. A continuación se muestra la lista de las palabras reservadas de Lua:
and break do else
elseif end false for
function if in local
nil not or repeat
return then true until
while
--- ### Variables globales En Lua las variables son consideradas generalmente como globales. Para que una variable sea considerada como global debe estar declarada en el ámbito global, es decir fuera de cualquier módulo o función: ```bash $ lua > a = 1 > function SetA () >> aa = 2 >> end > print(a) 1 > print(aa) nil ``` En el ejemplo anterior, se define una variable `a`, que es global a todas las instrucciones. Luego se define una función `SetA` en la que se define a su vez una variable `aa`. Cuando imprimimos la variable `a`, vemos que está definida ya que devuelve un valor. Sin embargo cuando imprimimos la variable `aa` nos devuelve `nil` que es el identificador de valor nulo. Esto significa que el ámbito donde se definió `aa` no es global, es decir, no están en el mismo ámbito. Toda variable que haya sido definida, puede ser anulada asignándole el valor `nil`: ```lua a = nil print(a) --> Devuelve nil ``` Esto significa que esta variable dejará de existir en el ámbito donde se realizó la asignación. Si una variable tiene un valor diferente de `nil`, esta estará disponible en su ámbito.