Contacta con nosotros

Temario del curso

Introducción a Lua

  • Un poco de historia
  • Objetivos, características y no objetivos de Lua
  • Recursos de 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 comentarios de bloque
  • Variables globales y aplicación de estrictidad
  • Variables locales
  • Programas autónomos, 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 objeto: función, userdata, hilo, tabla
  • Referencias u 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 básicas de control

  • La estructura if then elseif else end
  • El bucle while
  • El bucle repeat
  • El bucle for simple

Manejo de errores

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

Programas de ejemplo

  • Evaluación de polinomios
  • Búsqueda en amplitud (BFS)
  • Ejercicios adicionales

Más sobre funciones

  • Argumentos nombrados
  • Llamadas orientadas a objetos
  • Clausuras
  • Currying
  • Llamadas en cola
  • Asignación y retorno múltiples
  • Argumentos variables (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 metamétodos

  • Ejemplo del conjunto (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 constructivos de la POO en Lua
  • Ejemplos

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

  • Tablas débiles
  • Finalizadores
  • Compilación, eval, carga

Requerimientos

Conocimientos de al menos otro lenguaje de programación y experiencia en programación. Opcionalmente, si tiene familiaridad con otros lenguajes de scripting, esto facilitará la comprensión de Lua.

 14 Horas

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas