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.
Programa del Curso
Introducción a Lua
- Un poco de historia
- Objetivos, características y no objetivos de Lua
- Recursos de Lua documentación y tutoriales
- Instalación del intérprete Lua
- Configuración y uso de LuaRocks
Sintaxis y semántica básicas
- Identificadores
- Comentarios, bloquear comentarios
- Variables globales y aplicación de la rigurosidad
- Variables locales
- Programas independientes, 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 objetos: función, datos de usuario, subproceso, tabla
- Referencias/objetos frente a valores básicos
- La importancia de las tablas en Lua
Introducción a las mesas y su versatilidad
- Tablas como matriz asociativa
- Tablas como matrices numéricas, secuencias
Estructuras básicas de control
- El fin de if then elseif else
- El bucle while
- El bucle de repetición
- El bucle for simple
Manejo de errores
- Valores devueltos frente a excepciones
- Convertir un valor devuelto en una excepción
- Convertir una excepción en un valor devuelto
- Niveles de error
Ejemplos de programas
- Evaluación polinómica
- Amplitud primera búsqueda
- Ejercicios adicionales
Más información sobre las funciones
- Argumentos con nombre
- Llamadas orientadas a objetos
- Cierres
- Currying
- Llamadas de cola
- Asignación y devolución múltiple
- Varargs
Iteradores y corrutinas
- El bucle for genérico
- Iteradores sin estado frente a iteradores con estado
- Diferencias entre iteradores y corrutinas
Metatablas y metamétodos
- El ejemplo establecido
- El metamétodo __tostring
- Metamétodos aritméticos
- Los metamétodos __index __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
Tablas avanzadas
- Tablas para colas y pilas
- Tablas que describen gráficos
- Matrices como tablas
- Listas enlazadas como tablas
- Búferes de cadena
Metatables a través de ejemplos
- Proxies
- Solo lectura
- Memorización
- Programación dinámica con memorización
- El ejemplo de Fibonacci
Entornos
- Relación entre variables globales y entornos
- Variables libres
- La tabla _ENV y la tabla _G
Más información sobre los módulos
- Diferentes enfoques para la creación de módulos
- Módulos que cambian el comportamiento
- Inicialización y argumentos del módulo
- Uso de entornos para implementar módulos seguros
Iteradores avanzados y corrutinas
- Productor, consumidor, filtro
- Empaquetado de corrutinas para obtener iteradores
- Iterador sin estado para listas vinculadas
Contribuyendo al ecosistema
- Subir paquetes a MoonRocks
Paradigma funcional en Lua
- La función de mapa
- La función de reducir/plegar
Orientado a objetos Programming
- Diferentes enfoques de la POO
- Diferentes enfoques de la herencia
- Ejemplos
Un tutorial de las Lua bibliotecas estándar
Compilación
- Compilación
- Eval
- Relación con el medio ambiente
- Fragmentos binarios
Recolección
- Tablas débiles
- Finalizadores, el metamétodo __gc
Lua Código de bytes y máquina virtual
- Generación de código de bytes a partir del código fuente
- Lectura y análisis de código de bytes
- Recorrido rápido por el código fuente de la máquina virtual Lua
Módulos C
- Llamar a C desde Lua
- Search ruta y carga de los módulos C
Llamar a Lua desde C
- La pila
- Manejo de errores
- Continuaciones
Manejo de valores y tipos Lua de C
- Matrices
- Instrumentos de cuerda
- Datos de usuario
- Metatablas
- Llamadas orientadas a objetos
- Datos de usuario ligeros
Gestión de la memoria
- El 25 día-a
- GC API
Hilos en Lua
- Corrutinas frente a subprocesos
- Multi-threading real y estados Lua
Requerimientos
Familiaridad con al menos otro lenguaje de programación. Programming experiencia. Opcionalmente, si está familiarizado con otros lenguajes de scripting, eso facilitará la comprensión de Lua.
21 Horas