Sintaxis básica de Lua
Aprender Lua es muy sencillo, ¡podemos crear nuestro primer programa en Lua!
La extensión de los archivos de código de Lua es.lua。
El primer programa en Lua
Programación interactiva
Lua ofrece un modo de programación interactiva. Podemos ingresar programas en la línea de comandos y ver el resultado de inmediato.
El modo de programación interactiva de Lua se puede habilitar con el comando lua -i o lua:
$ lua -i $ Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio >
En la línea de comandos, ingresa el siguiente comando:
> print("Hello World!")
Luego presionamos Enter y el resultado es el siguiente:
Hello World!
>
Programación mediante scripts
Podemos guardar el código de un programa Lua en un archivo que termine en .lua y ejecutarlo; este modo se llama programación mediante scripts. Por ejemplo, guardamos el siguiente código en un archivo de script llamado hello.lua:
print("Hello World!")
print("www.example.com")
Usa lua para ejecutar el script anterior; el resultado es:
$ lua hello.lua Hello World! www.example.com
También podemos modificar el código como se muestra a continuación para ejecutar el script (agregando al principio: #!/usr/local/bin/lua):
Ejemplo
print("Hello World!")
print("www.example.com")
En el código anterior, especificamos el intérprete de Lua en el directorio /usr/local/bin. Al agregar el signo #, el intérprete lo ignorará. A continuación, agregamos permisos de ejecución al script y lo ejecutamos:
./hello.lua Hello World! www.example.com
Comentarios
Comentario de una sola línea
Un comentario de una sola línea comienza con dos guiones--Al inicio, el contenido que le sigue será ignorado por el intérprete.
--
Los comentarios de una sola línea se utilizan generalmente para una breve explicación o marcado del código.
Comentario de varias líneas
Un comentario de varias líneas comienza con--[[y termina con]]y es adecuado cuando se necesita explicar grandes bloques de código.
--[[ comentario multilínea comentario multilínea --]]
Lua no admite comentarios anidados, lo que significa que dentro de un comentario de varias líneas no se puede anidar otro comentario de varias líneas. Por ejemplo, el siguiente código no es válido:
--[[ Este es un comentario multilínea --[[ Comentario multilínea anidado (esto es ilegal) ]] ]]
Identificadores
Los identificadores de Lua se utilizan para definir una variable, una función u otros elementos definidos por el usuario. Un identificador comienza con una letra de la A a la Z o de la a a la z, o con un guion bajo_y va seguido de cero o más letras, guiones bajos o dígitos (0 a 9).
Es mejor no usar identificadores que comiencen con guion bajo y letras mayúsculas, porque las palabras reservadas de Lua también tienen esa forma.
Lua no permite usar caracteres especiales como@, $, y%para definir identificadores. Lua es un lenguaje de programación que distingue entre mayúsculas y minúsculas. Por lo tanto, en Lua, Ejemplo y ejemplo son dos identificadores diferentes.
A continuación se enumeran algunos identificadores correctos:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
Palabras clave
A continuación se enumeran las palabras clave reservadas de Lua. Las palabras clave reservadas no pueden usarse como constantes, variables u otros identificadores definidos por el usuario:
| and | break | do | else |
| elseif | end | false | for |
| function | if | in | local |
| nil | not | or | repeat |
| return | then | true | until |
| while | goto |
Por convención general, los nombres que comienzan con un guion bajo seguido de una serie de letras mayúsculas (como _VERSION) están reservados para las variables globales internas de Lua.
Variables globales
Por defecto, las variables siempre se consideran globales.
Las variables globales no necesitan declaración; al asignar un valor a una variable se crea esta variable global. Acceder a una variable global no inicializada tampoco produce un error, pero el resultado obtenido es: nil.
nil
> b=10
> print(b)
10
>
Si deseas eliminar una variable global, solo tienes que asignarle el valor nil.
b = nil print(b) --> nil
Así, la variable b parece como si nunca se hubiera utilizado. En otras palabras, una variable existe si y solo si no es igual a nil.
Otras extensiones