Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Temario del curso
Introducción a Lua
- Un poco de historia
- Objetivos, características y no objetivos de Lua
- Recursos de documentación y tutoriales de Lua
- Instalación del intérprete de Lua
- Configuración y uso de LuaRocks
Sintaxis y semántica básica
- Identificadores
- Comentarios y comentarios de bloque
- Variables globales y aplicación de estrictidad
- Variables locales
- Programas autónomos, argumentos de programa
- Unidades de compilación, fragmentos, expresiones, punto y coma
Tipos de datos y estructuras de datos
- Tipos básicos: nil, booleano, número, cadena
- Tipos de objeto: función, userdata, hilo, tabla
- Referencias u objetos frente a valores básicos
- La importancia de las tablas en Lua
Introducción a las tablas y su versatilidad
- Tablas como arreglos asociativos
- Tablas como arreglos numéricos y secuencias
Estructuras básicas de control
- La estructura if then elseif else end
- El bucle while
- El bucle repeat
- El bucle for simple
Manejo de errores
- Valores de retorno frente a excepciones
- Conversión de un valor de retorno a una excepción
- Conversión de una excepción a un valor de retorno
- Niveles de error
Programas de ejemplo
- Evaluación de polinomios
- Búsqueda en amplitud (BFS)
- Ejercicios adicionales
Más sobre funciones
- Argumentos nombrados
- Llamadas orientadas a objetos
- Clausuras
- Currying
- Llamadas en cola
- Asignación y retorno múltiples
- Argumentos variables (varargs)
Iteradores y co-rutinas
- El bucle for genérico
- Iteradores sin estado frente a iteradores con estado
- Diferencias entre iteradores y co-rutinas
Metatablas y metamétodos
- Ejemplo del conjunto (set)
- El metamétodo __tostring
- Metamétodos aritméticos
- Los metamétodos __index y __newindex
- El metamétodo __len
Módulos y paquetes
- Uso de módulos
- Creación de módulos
- Organización de módulos en paquetes
Programación orientada a objetos
- Los bloques constructivos de la POO en Lua
- Ejemplos
Discusión sobre características más avanzadas del lenguaje
- Tablas débiles
- Finalizadores
- Compilación, eval, carga
Requerimientos
Conocimientos de al menos otro lenguaje de programación y experiencia en programación. Opcionalmente, si tiene familiaridad con otros lenguajes de scripting, esto facilitará la comprensión de Lua.
14 Horas