Contacta con nosotros

Temario del curso

Introducción a Lua

  • Un poco de historia
  • Objetivos, características y aspectos no cubiertos por 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ásicas

  • Identificadores
  • Comentarios, comentarios de bloque
  • Variables globales y aplicación de la estricta tipificación
  • Variables locales
  • Programas independientes, argumentos del programa
  • Unidades de compilación, bloques (chunks), expresiones, puntos y comas

Tipos de datos y estructuras de datos

  • Tipos básicos: nil, boolean, number, string
  • Tipos de objeto: función, userdata, 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 arreglos asociativos
  • Tablas como arreglos numéricos, secuencias

Estructuras de control básicas

  • if then elseif else end
  • El ciclo while
  • El ciclo repeat
  • El ciclo 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 anchura (breadth-first search)
  • Ejercicios adicionales

Más sobre funciones

  • Argumentos con nombre
  • Llamadas orientadas a objetos
  • Clausuras (closures)
  • Currying
  • Llamadas de cola (tail calls)
  • Asignación y retorno múltiples
  • Varargs (número variable de argumentos)

Iteradores y co-rutinas

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

Metatablas y metodos

  • Ejemplo del conjunto (set)
  • El metométodo __tostring
  • Metodos aritméticos
  • Los metodos __index, __newindex
  • El metomé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 avanzadas del lenguaje

  • Tablas débiles (weak tables)
  • Finalizadores (finalizers)
  • Compilación, eval, carga

Requerimientos

Familiaridad con al menos otro lenguaje de programación. Experiencia en programación. Opcionalmente, si tiene familiaridad con otros lenguajes de secuencias de comandos, será más fácil entender Lua.

 14 Horas

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas