Contacta con nosotros

Temario del curso

Introducción a Lua

  • Un poco de historia
  • Objetivos, características y objetivos no perseguidos 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, comentarios de bloque
  • Variables globales y aplicación de la estrictitud (strict mode)
  • Variables locales
  • Programas independientes, argumentos del programa
  • Unidades de compilación, fragmentos (chunks), expresiones y punto y coma

Tipos de datos y estructuras de datos

  • Tipos básicos: nil, booleano, número y cadena
  • Tipos de objeto: función, userdata (usuario), hilo y 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 array asociativo
  • 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 devueltos frente a excepciones
  • Conversión de un valor devuelto a una excepción
  • Conversión de una excepción a un valor devuelto
  • Niveles de error

Programas de ejemplo

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

Más sobre funciones

  • Argumentos nombrados
  • Llamadas orientadas a objetos
  • Clausuras (Closures)
  • Currying
  • Llamadas de cola (Tail calls)
  • Asignación y devolución múltiples
  • Varargs (argumentos variables)

Iteradores y co-rutinas

  • Bucle for genérico
  • Iteradores sin estado frente a iteradores con estado
  • Diferencias entre iteradores y co-rutinas

Metatablas 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 componentes básicos de la POO en Lua
  • Ejemplos

Discusión sobre características avanzadas del lenguaje

  • Tablas débiles (Weak tables)
  • Finalizadores (Finalizers)
  • Compilación, evaluación y carga (eval y loading)

Requerimientos

Conocimiento previo de al menos otro lenguaje de programación. Experiencia en programación. Opcionalmente, si ya tiene familiaridad con otros lenguajes de scripting, le resultará más fácil entender Lua.

 14 Horas

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas