Lua es un lenguage de programación potente y ligero diseñado para una programación procedimental implementado como una biblioteca escrita en base al lenguaje de programación C.
Como cualquier otro lenguaje de programación tiene características y reglas básicas que te permitirán usarlo sin problemas. A continuación te mostraremos cuáles son las características básicas y los aspectos que no debes perder de vista si deseas trabajar con este lenguaje de programación.
características básicas
- LUA es case-sensitive lo que quiere decir que, por ejemplo, los siguientes nombres de variables van a ser identificados como objetos diferentes: miNombre, MINOMBRE, MINombre, minombre
identificadores
Los identificadores en LUA son aquellos nombres que nos permiten definir una variable, funcion o cualquier otro elemento definido por el usuario. Puede ser cualquier cadena conformada por letras (A-Z a-z), dígitos (0-9) y guiones bajos ( _ ).
LUA no permite caráteres de puntuación como @, $, %, además de que un identificador tampoco puede empezar por un número. Veamos algunos ejemplos:
-- USO CORRECTO miNombre miApellido2 mi_Ciudad -- USO INCORRECTO 6Sentido @nombre
palabras reservadas
Un error muy común es usar como identificador una palabra reservada del lenguaje de programación. LUA tiene las siguientes palabras reservadas que hay que tener cuidado de no usar como indentificadores:
and break do else elseif end false for function if in local nil not or repeat return then true until while
Aplicar comentarios en código
Un comentario en LUA comienza con un doble guión y afecta a la línea donde haya sido colocado. Para comentar un bloque completo éste debe estar encerrado entre –[[ y –]]. Para eliminar el comentaro de un bloque simplemente puedes agregar un guión adicional al inicio del comentario de bloque de esta manera: —[[
-- Este es un comentario de una sola línea --[[ Este es un comentario que agrupa un bloque de líneas de código --]] ---[[ Este comentario de bloque ha sido eliminado --]]
Nota: Es común comentar un bloque completo usando el formato –[[ y ]], pero si deseas inhabilitar el comentario agregando solo el guión adicional al inicio del bloque tendrás que agregar el doble guión en ]] para evitar que el compilador te marque algún error de sintáxis. Veamos un ejemplo:
---[[ print ( "Este comentario de" ) print ( "bloque ha sido eliminado" ) ]] -- El compilador marcará un error en esta línea
tipos de datos
LUA es un lenguaje de típado dinámico. Esto quiere decir que las variables no tienen un tipo de valor hasta que no les es asignado alguno. Veamos un ejemplo rápido de esto:
local miNombre -- Esta variable es del tipo nil miNombre = "Jhon Doe" -- Ahora la variable es del tipo String
Los tipos básicos del lenguaje son:
[su_table]
nil — usualmente representa la asencia de un valor útil. |
boolean — representa los valores true y false. Tanto nil como false crean una condición false, cualquier otro valor crea una condición true. |
number — representa números reales. |
string — representa un arreglo de caracteres. |
function — representa un método que fue escrito en C o LUA. |
userdata — representa un dato arbitrario de C. |
thread — representa hilos de ejecución independientes y es utilizado para implementar co-rutinas. |
table — Representa arreglos ordinarios, grafos, arboles, areglos asociativos, etc. Puede contener cualquier valor excepto nil. |
[/su_table]
Si tenemos una varible o un objeto y quisieramos conocer su tipo podemos aprovechar la función de lenguaje type() para conocer su tipo.
print( type("¿de que tipo soy?") ) -- string print( type(45.8) ) -- number print( type(true) ) -- boolean print( type(nil) ) -- nil
Estas son las características que necesitas saber de primera instancia para poder trabajar con LUA. En nuestros siguientes post hablaremos de cuales son las estructuras de control que usa este lenguaje.
Espero hayas disfrutado y aprendido muchas cosas de esta entrada y por favor siéntete libre de compartir esta información en tus redes sociales para que otras personas interesadas también puedan conocer algo nuevo y que les pueda ayudar en sus proyectos futuros. ¡Hasta la próxima!