Elige tu idioma
Curso de Lua
Más de 2 millones de estudiantes en todo el mundo

Curso de Lua

Aprende Lua desde cero y adquiere 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 de C. Cada concepto se enseña con ejemplos prácticos y aplicados que puedes implementar de inmediato.

Dedika para empresas

Lo que vas a aprender:

Este curso cubre todas las áreas esenciales de la programación en Lua, comenzando con la configuración del entorno, la sintaxis y los tipos de datos. Dominarás el flujo de control, las funciones, los closures y el potente sistema de tablas de Lua. Luego, 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 aprenderás a organizar el código en módulos, manejar errores en tiempo de ejecución y administrar dependencias con LuaRocks. Los temas avanzados incluyen corrutinas, recolección de basura, optimización del rendimiento y la API de 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 en equipo.

Cómo estudias de forma práctica Curso de Lua

Cómo practicas Curso de Lua

Para ti que tienes una empresa y quieres 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.

Haz clic aquí

Contenido del curso

8 Capítulos • 39 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 cadenas. 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

    Introduce la sintaxis de sentencias, comentarios y 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 runtime de Lua en los principales sistemas operativos y la configuración del editor. Se conecta con el capítulo al permitir la práctica 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 salida visible y aceptar 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 utilizadas en todos los capítulos futuros.

Capítulo 2Ver detalles

Flujo de Control y Lógica del Programa

  • Lección 1 • Break, Goto y Control de Bucles

    Explica break para salir de 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 ramificación requerida por todo programa no trivial.

  • Lección 4 • Bucles While y Repeat

    Introduce los bucles while y repeat-until para la iteración impulsada por condiciones. Los estudiantes aprenden cuándo se adapta mejor cada tipo de bucle a un problema dado.

Capítulo 3Ver detalles

Funciones y Ámbito

  • Lección 1 • Funciones Recursivas

    Cubre la recursividad directa y mutua con diseño de casos base. Desarrolla habilidades de descomposición de problemas aplicadas 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 los modismos de Lua.

  • Lección 3 • Ámbito Local vs. Global

    Distingue los tiempos de vida y las reglas de visibilidad de las variables locales y globales. Previene errores comunes de ámbito que surgen en scripts más grandes.

  • Lección 4 • Definición y Llamada de Funciones

    Cubre la sintaxis de declaración de funciones, parámetros y valores de retorno. Establece el mecanismo de abstracción principal utilizado a lo largo del curso.

  • Lección 5 • Closures y Upvalues

    Introduce los closures como funciones que capturan upvalues de ámbitos envolventes. Permite fábricas de funciones con estado y patrones de callback.

Capítulo 4Ver detalles

Tablas: La Estructura de Datos Central de Lua

  • Lección 1 • Manipulación de Tablas con la Biblioteca table

    Introduce table.insert, table.remove, table.sort y table.concat. Proporciona a los estudiantes las herramientas de la biblioteca estándar para operaciones comunes con tablas.

  • Lección 2 • Tablas como Arreglos

    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 de cadena y mixtas para almacenamiento de datos estilo mapa. Se conecta con casos de uso del mundo real como objetos de configuración y registros.

  • Lección 5 • Tablas como Referencias

    Explica la semántica de referencia, las copias superficiales y los efectos de aliasing. Previene errores de corrupción de datos al pasar tablas a funciones.

Capítulo 5Ver detalles

Cadenas 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 Cadenas con string.format

    Enseña especificadores de formato para números, cadenas y relleno. Permite un formateo de salida preciso requerido en registro y reportes.

  • Lección 3 • Elementos Esenciales de la Biblioteca string

    Cubre string.len, string.sub, string.upper, string.lower y string.rep. Construye el conjunto de herramientas básico de procesamiento de texto para todas las tareas con cadenas.

  • 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 formato.

  • Lección 5 • Sintaxis de Patrones y Clases de Caracteres

    Introduce los patrones de Lua, anclas, cuantificadores y clases de caracteres. Proporciona la gramática para todas las operaciones find, match y gsub.

Capítulo 6Ver detalles

Metatablas y Lua Orientado a Objetos

  • Lección 1 • Construcción de Clases con Prototipos

    Implementa constructores de clase 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 cadenas de prototipos para herencia simple y sobreescritura de métodos. Completa el modelo de OOP con patrones de subclase y llamada a super.

  • Lección 3 • Metamétodos Aritméticos y de Comparación

    Cubre los metamétodos __add, __sub, __mul, __eq, __lt y __le. Permite que 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 predeterminados, tablas de solo lectura y objetos proxy.

  • Lección 5 • Introducción a las Metatablas

    Explica setmetatable, getmetatable y el contrato de metatabla. Establece el mecanismo subyacente a toda personalización avanzada de tablas.

Capítulo 7Ver detalles

Módulos, Paquetes y Manejo de Errores

  • Lección 1 • Depuración con la Biblioteca debug

    Cubre debug.traceback, debug.getinfo y funciones de hook. Proporciona a los estudiantes herramientas para diagnosticar problemas en programas complejos de múltiples módulos.

  • Lección 2 • require y el Sistema de Paquetes

    Explica require, package.path y el comportamiento de caché de módulos. Enseña a los estudiantes a cargar y gestionar dependencias de manera confiable.

  • Lección 3 • Errores Personalizados y Objetos de Error

    Enseña error() con niveles y objetos de error de tabla estructurados. Permite reportes de error informativos y legibles por máquina en bibliotecas.

  • Lección 4 • Manejo de Errores con pcall y xpcall

    Introduce pcall y xpcall para llamadas protegidas y captura de errores. Evita que errores no manejados hagan fallar 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 de código a través de múltiples archivos de script.

Capítulo 8Ver detalles

Lua Avanzado y Optimización de 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 • Ajuste de Rendimiento

    Aplica temporización, caché local y preasignación de tablas para reducir la sobrecarga. Los estudiantes miden y mejoran el rendimiento de scripts con puntos de referencia concretos.

  • Lección 3 • Corutinas y Multitarea Cooperativa

    Introduce coroutine.create, resume, yield y status. Permite la programación cooperativa y los pipelines 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.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Programadores principiantes: deseosos de aprender un lenguaje de scripting ligero y versátil.

  • Desarrolladores de juegos: que buscan programar lógica dentro de motores como LÖVE o Defold.

  • Desarrolladores de C/C++: que buscan incrustar 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 aula.

  • Personas que cambian de carrera: que hacen la transición 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 he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en México?

¿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