Introducción a LUA

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!