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 limitaciones de Lua
- Recursos para la 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 bloques de comentarios
- Variables globales y aplicación del modo estricto
- Variables locales
- Programas independientes y argumentos de línea de comandos
- Unidades de compilación, fragmentos (chunks), expresiones y puntos y coma
Tipos de datos y estructuras de datos
- Tipos básicos: nil, booleano, número y cadena
- Tipos objeto: función, userdata, hilo y tabla
- Referencias / 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 de control básicas
- La estructura if then elseif else end
- El bucle while
- El bucle repeat
- El bucle for simple
Gestión de errores
- Valores de retorno frente a excepciones
- Conversión de un valor de retorno en excepción
- Conversión de una excepción en valor de retorno
- Niveles de error
Programas de ejemplo
- Evaluación de polinomios
- Búsqueda en anchura (BFS)
- Ejercicios adicionales
Más sobre funciones
- Argumentos con nombre
- Llamadas orientadas a objetos
- Clausuras (closures)
- Currying
- Llamadas de cola (tail calls)
- Asignación y retorno múltiples
- Funciones con número variable de argumentos (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 métodos metamórficos
- Ejemplo de conjuntos (sets)
- El método metamórfico __tostring
- Métodos metamórficos aritméticos
- Los métodos metamórficos __index y __newindex
- El método metamórfico __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 de construcción de la POO en Lua
- Ejemplos
Discusión sobre características avanzadas del lenguaje
- Tablas débiles (weak tables)
- Finalizadores (finalizers)
- Compilación, evaluación y carga de código
Requerimientos
Conocimientos previos de al menos otro lenguaje de programación. Experiencia en programación. Opcionalmente, si ya tiene familiaridad con otros lenguajes de scripting, le resultará más fácil comprender Lua.
14 Horas