El lenguaje Lua
Corona SDK proporciona los APIs necesarios para desarrollar aplicaciones multiplataforma para dispositivos móviles. El lenguaje de programación para utilizar esos APIs es Lua. Por eso, necesitamos un conocimiento lo más profundo posible del lenguaje Lua si queremos desarrollar con soltura aplicaciones. Poer no hay que asustarse, en primer lugar, la sintaxis de Lua, además de ser muy similar a la de otros lenguajes (Javascript por ejemplo), es muy sencilla.Según la web de Lua: Lua es un lenguaje de programación potente, eficiente y ligero, es un lenguaje de script embebido. Soporta programación procedural, programación orientada a objetos (aunque no de forma nativa como Java o C#), programación funcional y descripción de datos.
Lo más relevante es que Lua no es un lenguaje para escribir programas stand-alone, como lo son Java, C++, C# etc. Un programa Lua se tiene que integrar (embeber) en un programa contenedor (host). El programa host invoca al programa Lua y puede acceder a sus datos. También es posible invocar a rutinas del programa host desde Lua. En realidad, todo esto es cultura sobre Lua, porque en la práctica nosotros vamos a desarrollar 100% con Lua, y es Corona SDK quien se encarga de realizar el trabajo sucio de integrar nuestro programa Lua con los APIs para aplicaciones móviles. Corona es el programa host. Nosotros usaremos el lenguaje Lua para implementar la lógica e invocaremos los APIs de Corona para crear nuestras aplicaciones. Nada más.
Otra característica importante de Lua es que tiene un recolector de basura integrado, y por tanto, no es necesario liberar la memoria que vamos creando, se libera automáticamente cuando ya no se usa. Aunque es recomendable desreferenciar las variables que ya no se van a usar (ya veremos esto más adelante) para facilitar la tarea al recolector de basura.
Sintaxis de Lua
Lua es uno de los lenguajes de programación inspirado "más o menos" en C (como otros muchos, Java, C++, C#, Javascript, etc). Esto significa, en primer lugar, que Lua es sensible a mayúsculas y minúsculas.
Las sentencias pueden terminar opcionalmente en punto y coma.
Los nombres de variables, funciones o cualquier cosa que pueda tener nombre, son una combinación de letras, dígitos y subrayados, de cualquier longitud, Pero no pueden empezar con un dígito. Se deben evitar nombres que empiecen con subrayado, porque aunque son legales en Lua, sin embargo, por convención, Lua utiliza nombres que comienzan por subrayado para sus variables internas.
Los bloques son una serie de sentencias que se ejecutan una detrás de otra y comparten un contexto de ejecución. El bloque más común es la función:
function calculate()
-- bloque de sentencias
end
Todas las sentencias dentro de la función son un bloque.
Otros bloques Lua son las sentencias if y los bucles.
También es posible definir bloques anónimos:
do
-- sentencias
end
Palabras clave
Esta es la (breve) lista de palabras clave del lenguaje Lua:
- and
- break
- do
- else
- elseif
- end
- false
- for
- function
- goto
- if
- in
- local
- nil
- not
- or
- repeat
- return
- then
- true
- until
- while
Operadores
Los operadores en Lua son similares a los de la mayoría de los lenguajes de programación. Sin embargo, hay algunos operadores que son distintos y merece la pena mencionarlos:
- ∼= operador distinto
- .. concatenación de strings
- . . . número variable de argumentos en una función
Comentarios
En Lua, como en muchos lenguajes de programación, existen dos tipos de comentarios.
Los comentarios de línea:
-- esto es un comentario hasta el final de la línea
Los comentarios multilínea:
--[[
esto es un comentario que puede abarcar varias líneas
]]--
Trazas en consola
Antes de terminar esta primera parte dedicada al lenguaje Lua, me gustaría indicar, que como en casi todos los lenguajes y entornos de programación, disponemos de una consola para sacar mensajes, trazas, etc.
La rutina que tiene Lua para sacar un mensaje en la consola es print(). Es una función global y por tanto podemos acceder a ella desde cualquier punto de nuestro programa:
print("Hola mundo")
Pero, ¿dónde salen los mensajes? Cuando abrimos el simulador de Corona en Windows, se abren dos ventanas y una de ellas es la consola que tiene un aspecto similar a esto:
Aquí podemos ver los mensajes de print()
La función print() puede recibir múltiples argumentos separados por comas:
print("La edad es", 27, ", y el nombre es",nombre)
No hay comentarios:
Publicar un comentario