
Curso de Lua
Aprendé Lua desde cero y adquirí las habilidades de programación que impulsan motores de juegos, sistemas embebidos y herramientas de automatización en todo el mundo. Este curso te lleva desde tu primer script hasta temas avanzados como corrutinas, metatablas y la API C. Cada concepto se enseña con ejemplos prácticos y aplicables que podés usar de inmediato.
Qué vas a aprender:
Este curso cubre todas las áreas esenciales de la programación en Lua, empezando por la configuración del entorno, la sintaxis y los tipos de datos. Vas a dominar el flujo de control, las funciones, los closures y el potente sistema de tablas de Lua. El plan de estudios avanza hacia la manipulación de cadenas, la coincidencia de patrones, las metatablas y el diseño orientado a objetos. También vas a aprender a organizar el código en módulos, manejar errores en tiempo de ejecución y gestionar dependencias con LuaRocks. Los temas avanzados incluyen corrutinas, recolección de basura, optimización del rendimiento y la API C de Lua. Las secciones complementarias cubren el desarrollo de juegos con LÖVE, la automatización de sistemas, las pruebas con busted y las prácticas profesionales de trabajo en equipo.
Cómo estudiás de forma práctica Curso de Lua
Cómo practicás Curso de Lua
Para vos que sos empresa y querés capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 39 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de Lua y configuración del entorno
Fundamentos de Lua y configuración del entorno
Lección 1 • Variables y tipos de datos
Explica el tipado dinámico, nil, booleanos, números y strings. Los estudiantes adquieren la capacidad de almacenar e inspeccionar valores en cualquier programa Lua.
Lección 2 • Sintaxis de Lua y estructura del código
Presenta la sintaxis de sentencias, comentarios y las reglas de espacios en blanco. Proporciona la base gramatical de la que depende cada script posterior.
Lección 3 • Instalación y configuración de Lua
Cubre la instalación del entorno de ejecución de Lua en los principales sistemas operativos y la configuración del editor. Se conecta con el capítulo al permitir la práctica directa desde la primera lección.
Lección 4 • Entrada y salida básicas
Enseña print, io.write e io.read para la interacción con la consola. Permite a los estudiantes producir una salida visible y aceptar la entrada del usuario de inmediato.
Lección 5 • Operadores y expresiones
Cubre operadores aritméticos, relacionales, lógicos y de concatenación. Desarrolla habilidades de escritura de expresiones que se usarán en todos los capítulos futuros.
Capítulo 2OcultarOcultar detallesVer detallesFlujo de control y lógica del programa
Flujo de control y lógica del programa
Lección 1 • Break, goto y control de bucles
Explica break para salir de los bucles y goto para saltos controlados. Completa el conjunto de herramientas de flujo de control con patrones de uso seguros e intencionados.
Lección 2 • Bucles for numéricos y genéricos
Enseña el for numérico con control de paso y el for genérico con iteradores. Prepara a los estudiantes para el recorrido de tablas que se cubre en el próximo capítulo.
Lección 3 • Sentencias condicionales
Cubre la sintaxis de if, elseif y else con condiciones anidadas. Habilita directamente la lógica de bifurcación que requiere todo programa no trivial.
Lección 4 • Bucles while y repeat
Presenta los bucles while y repeat-until para la iteración controlada por condición. Los estudiantes aprenden cuándo se adapta mejor cada tipo de bucle a un problema dado.
Capítulo 3OcultarOcultar detallesVer detallesFunciones y alcance
Funciones y alcance
Lección 1 • Funciones recursivas
Cubre la recursión directa y mutua con diseño de casos base. Desarrolla habilidades de descomposición de problemas que se aplican en algoritmos y estructuras de datos.
Lección 2 • Múltiples valores de retorno y varargs
Explica la devolución de múltiples valores y el uso de la sintaxis vararg ... . Desbloquea firmas de funciones flexibles comunes en las expresiones idiomáticas de Lua.
Lección 3 • Alcance local vs. global
Distingue la duración y las reglas de visibilidad de las variables locales y globales. Previene errores comunes de alcance que surgen en scripts más grandes.
Lección 4 • Definición y llamada a funciones
Cubre la sintaxis de declaración de funciones, parámetros y valores de retorno. Establece el mecanismo de abstracción principal que se usa a lo largo del curso.
Lección 5 • Closures y upvalues
Presenta las closures como funciones que capturan upvalues de ámbitos circundantes. Habilita factorías de funciones con estado y patrones de callback.
Capítulo 4OcultarOcultar detallesVer detallesTablas: la estructura de datos principal de Lua
Tablas: la estructura de datos principal de Lua
Lección 1 • Manipulación de tablas con la librería table
Presenta table.insert, table.remove, table.sort y table.concat. Proporciona a los estudiantes las herramientas de la librería estándar para operaciones comunes con tablas.
Lección 2 • Tablas como arrays
Explica las secuencias con claves enteras y el operador de longitud #. Permite el almacenamiento de datos estilo lista y el procesamiento secuencial.
Lección 3 • Creación y acceso a tablas
Cubre la sintaxis del constructor de tablas y los patrones de acceso clave-valor. Proporciona la base para cada tarea de modelado de datos en Lua.
Lección 4 • Tablas como diccionarios
Cubre claves string y mixtas para el almacenamiento de datos estilo mapa. Se conecta con casos de uso del mundo real como configuración y objetos de registro.
Lección 5 • Tablas como referencias
Explica la semántica de referencia, las copias superficiales y los efectos de alias. Previene errores de corrupción de datos al pasar tablas a funciones.
Capítulo 5OcultarOcultar detallesVer detallesStrings y coincidencia de patrones
Strings y coincidencia de patrones
Lección 1 • Reemplazo e iteración de patrones
Enseña string.gsub para reemplazo y string.gmatch para iteración. Completa el conjunto de herramientas de patrones para flujos de trabajo de transformación de texto completos.
Lección 2 • Formateo de strings con string.format
Enseña especificadores de formato para números, strings y relleno. Permite un formateo de salida preciso, necesario en registros y reportes.
Lección 3 • Fundamentos de la librería string
Cubre string.len, string.sub, string.upper, string.lower y string.rep. Construye el conjunto de herramientas básicas de procesamiento de texto para todas las tareas con strings.
Lección 4 • Búsqueda y coincidencia de patrones
Cubre string.find, string.match y grupos de captura. Permite la extracción de datos estructurados de entradas de texto sin procesar.
Lección 5 • Sintaxis de patrones y clases de caracteres
Presenta los patrones de Lua, anclas, cuantificadores y clases de caracteres. Proporciona la gramática para todas las operaciones find, match y gsub.
Capítulo 6OcultarOcultar detallesVer detallesMetatablas y Lua orientado a objetos
Metatablas y Lua orientado a objetos
Lección 1 • Construcción de clases con prototipos
Implementa constructores de clases y despacho de métodos a través de cadenas __index. Los estudiantes crean planos de objetos reutilizables con métodos compartidos.
Lección 2 • Herencia y polimorfismo
Extiende las cadenas de prototipos para herencia simple y sobrescritura de métodos. Completa el modelo de OOP con patrones de subclase y llamada a la superclase.
Lección 3 • Metamétodos aritméticos y de comparación
Cubre los metamétodos __add, __sub, __mul, __eq, __lt y __le. Permite que los tipos personalizados participen en expresiones Lua estándar.
Lección 4 • Metamétodos index y newindex
Enseña __index para búsqueda de propiedades y __newindex para intercepción de escritura. Permite valores por defecto, tablas de solo lectura y objetos proxy.
Lección 5 • Introducción a las metatablas
Explica setmetatable, getmetatable y el contrato de metatablas. Establece el mecanismo que subyace a toda personalización avanzada de tablas.
Capítulo 7OcultarOcultar detallesVer detallesMódulos, paquetes y manejo de errores
Módulos, paquetes y manejo de errores
Lección 1 • Depuración con la librería debug
Cubre debug.traceback, debug.getinfo y funciones de hook. Brinda a los estudiantes herramientas para diagnosticar problemas en programas complejos y multimódulo.
Lección 2 • require y el sistema de paquetes
Explica require, package.path y el comportamiento de cacheo de módulos. Enseña a los estudiantes a cargar y gestionar dependencias de forma fiable.
Lección 3 • Errores personalizados y objetos de error
Enseña error() con niveles y objetos de error estructurados como tablas. Permite un reporte de errores informativo y legible por máquinas en las librerías.
Lección 4 • Manejo de errores con pcall y xpcall
Presenta pcall y xpcall para llamadas protegidas y captura de errores. Previene que los errores no manejados bloqueen los scripts en producción.
Lección 5 • Creación y uso de módulos
Cubre el patrón de módulo como tabla y la devolución de APIs públicas. Permite la separación y reutilización del código en múltiples archivos de script.
Capítulo 8OcultarOcultar detallesVer detallesLua avanzado y optimización del rendimiento
Lua avanzado y optimización del rendimiento
Lección 1 • Iteradores construidos con corutinas
Construye iteradores con estado usando coroutine.wrap para una sintaxis limpia. Conecta el conocimiento de corutinas con el uso práctico del for genérico.
Lección 2 • Creación de perfiles y ajuste del rendimiento
Aplica temporización, cacheo de locales y preasignación de tablas para reducir la sobrecarga. Los estudiantes miden y mejoran el rendimiento de los scripts con puntos de referencia concretos.
Lección 3 • Corutinas y multitarea cooperativa
Presenta coroutine.create, resume, yield y status. Permite la planificación cooperativa y los pipelines de productor-consumidor en Lua.
Lección 4 • Gestión de memoria y recolección de basura
Cubre el GC incremental, collectgarbage() y las tablas débiles. Enseña a los estudiantes a controlar el uso de memoria en aplicaciones de larga duración.
Lección 5 • El entorno y _ENV
Explica _ENV como la tabla global y el control del entorno a nivel de chunk. Permite técnicas de sandboxing y gestión dinámica de globales.
Tu certificado válido de finalización
Este curso es para vos:
Programadores principiantes: con ganas de aprender un lenguaje de scripting liviano y versátil.
Desarrolladores de videojuegos: que quieren escribir la lógica en motores como LÖVE o Defold.
Desarrolladores de C/C++: que buscan integrar una capa de scripting rápida en sus aplicaciones.
Ingenieros de automatización: que necesitan un lenguaje compacto para herramientas de compilación y scripts de sistema.
Estudiantes de ciencias de la computación: que buscan un lenguaje práctico más allá de Java o Python de la facultad.
Personas en transición de carrera: que se están moviendo a roles de software a través de un lenguaje enfocado y accesible.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los recomendé a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltear contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en Argentina?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















