Descripción:
Lua se esta expandiendo cada vez más y mas a través de diferentes areas de software, desde sistemas embebidos a dispositivos moviles asi como a la Web y el Internet de las Cosas. Además, ha tenido un rol importante en la industria del desarrollo de video juegos, donde el conocimiento de Lua ha llega a ser un valor agregado indiscutible. Lua es el lenguaje de excelencia para cualquiera que necesite un lenguaje de scripting que sea sencillo, eficiente, extensible, portable y gratis.
Lua es un lenguaje de programación extensible diseñado para una programación procedural con utilidades para la descripción de datos. También ofrece un buen soporte para la programación orientada a objetos, programación funcional y programación orientada a datos. Se pretende que Lua sea usado como un lenguaje de script potente y ligero para cualquier programa que lo necesite. Lua está implementado como una biblioteca escrita en C limpio (esto es, en el subconjunto común de ANSI C y C++). Siendo un lenguaje de extensión, Lua no tiene noción de programa principal (main): sólo funciona embebido en un cliente anfitrión, denominado programa contenedor o simplemente anfitrión (host)
Objetivo:
Al finalizar el Curso de programación con Lua el alumno tendrá un dominio de la sintaxis del lenguaje Lua, así mismo el alumno comprenderá los conceptos clave de este lenguaje y características más relevantes.
Temario:
Parte 1
Introducción | Comenzando con algunas convenciones léxicas | Chunks | Variables Globales| Tipos y valores | El Interprete Stand Alone
Parte 2
Numerales | Operadores artiméticos | Operadores relacionales | La libreria matemática |Representacion de limites | Conversiones | Precedencia | Enteros
Parte 3
Cadenas Literales | Cadenas largas | Coerciones | La libreria String | Unicode
Parte 4
Tablas | Indices de tablas | Constructores de Tablas | Arreglos, listas y secuencias | Tabla transversal |Navegación segura | La librería Tabla
Parte 5
Funciones | Multiples resultados | Funciones Variadic | la funcion table.unpack | Llamas proper Tail
Parte 6
El modelo simple I/O | El modelo I/O completo | Otras operaciones en archivos | otras llamadas de sistema
Parte 7
Variables locales y bloques | Estructuras de control | break, return y goto
Parte 8
Closures | Funciones como clases o ciudadanos de primera clase | Funciones no globales | Alcance Lexico | Introducción a la programación funcional
Parte 9
Pattern Matching | Funciones para coincidencia de patrones | Patrones | Capturas | Reemplazos | Trucos de Trade
Parte 10
Fecha y Tiempo | la función os.time | la función os.date | Manipulacion fecha y tiempo |
Parte 11
Bits y bytes | Operador Bitwise | Enteros no firmados | Empacando y desempacando Dartos Binarios | Archivos Binarios
Parte 12
Estructuras de datos | Arreglos | Matrices y arreglos multimensionales | Listas vinculadas | Colas y colas de doble final | Tablas en reversa | Conjuntos y bolsas | Buffer String | Graphs
Parte 13
Data Files y serialización | Archivos de datos | Serialización
Parte 14
Compilación, ejecución y errores | Compilación | Código precompilado | Errores | Manejos de errores y excepciones | Mensajes de error y tracebacks
Parte 15
Modulos y paquetes | la función require | aproximación básica para escribir módulos en Lua | Submodulos y paquetes
Parte 16
Iteradores y el Generic for | Iteradores y closures | la semántica del generic for | Iteradores stateless | Traversing Tables in order | True iterators
Parte 17
Metatablas y metametodos | Metamétodos aritméticos | Metametodos relacionales | liberias definidas de Metametodos | Metametodos para acceso de Tablas
Parte 18
OOP | Clases | Herencia | Herencia multiple | Privacidad | la aproximacion single – method | representacion dual