Contacta con nosotros

Temario del curso

Introducción a Lua

  • Un breve resumen histórico
  • Objetivos, características y aspectos que Lua no pretende cubrir
  • Recursos de 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 imposición de estrictitud
  • Variables locales
  • Programas independientes y argumentos del programa
  • Unidades de compilación, fragmentos de código (chunks), expresiones y punto y coma

Tipos de datos y estructuras de datos

  • Tipos básicos: nil, booleano, número, cadena
  • Tipos objeto: función, userdata (datos de usuario), hilo, 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 arrays asociativos
  • Tablas como arrays numéricos y secuencias

Estructuras de control básicas

  • if then elseif else end
  • Bucle while
  • Bucle repeat
  • Bucle for simple

Gestión de errores

  • Valores de retorno frente a excepciones
  • Conversión de un valor de retorno a excepción
  • Conversión de una excepción a valor de retorno
  • Niveles de error

Programas de ejemplo

  • Evaluación de polinomios
  • Búsqueda en anchura (breadth-first search)
  • Ejercicios adicionales

Más sobre funciones

  • Argumentos con nombre
  • Llamadas orientadas a objetos
  • Closures (cierres)
  • Currying
  • Llamadas de cola (tail calls)
  • Asignación y retorno múltiples
  • Varargs

Iteradores y corrutinas

  • El bucle for genérico
  • Iteradores sin estado frente a iteradores con estado
  • Diferencias entre iteradores y corrutinas

Mesatablas y metamétodos

  • Ejemplo de conjuntos (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 de construcción de la POO en Lua
  • Ejemplos

Discusión sobre características más avanzadas del lenguaje

  • Tablas débiles (weak tables)
  • Finalizadores
  • Compilación, evaluación y carga de código

Requerimientos

Familiaridad con al menos otro lenguaje de programación. Experiencia en programación. Opcionalmente, si ya tiene conocimientos de otros lenguajes de script, le resultará más fácil comprender Lua.

 14 Horas

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas