Ponte en Contacto
 Duración 14 horas

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ásicas

  • Identificadores
  • Comentarios, comentarios en bloque
  • Variables globales y aplicación de strictness
  • Variables locales
  • Programas independientes, argumentos del programa
  • Unidades de compilación, chunks, expresiones, punto y coma

Tipos de datos y estructuras de datos

  • Tipos básicos: nil, boolean, number, string
  • Tipos de objeto: function, userdata, thread, table
  • Referencias/objetos vs. valores básicos
  • La importancia de las tablas en Lua

Introducción a las tablas y su versatilidad

  • Tablas como matriz asociativa
  • Tablas como arrays numéricos, secuencias

Estructuras de control básicas

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

Manejo de errores

  • Valores de retorno vs. 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
  • Busqueda en amplitud
  • Ejercicios adicionales

Más sobre funciones

  • Argumentos nombrados
  • Llamadas orientadas a objetos
  • Closures
  • Currying
  • Invocaciones de cola
  • Asignación y retorno múltiples
  • Varargs

Iteradores y co-routinas

  • El bucle for genérico
  • Iteradores sin estado vs. iteradores con estado
  • Diferencias entre iteradores y co-routinas

Metatable y metamedodos

  • El ejemplo del set
  • El metamedodo __tostring
  • Metamedodos aritméticos
  • Los metamedodos __index, __newindex
  • El metamedodo __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 de lenguaje más avanzadas

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

Requerimientos

Conocimientos básicos de al menos otro lenguaje de programación. Experiencia en programación. Opcionalmente, si tenés familiaridad con otros lenguajes de scripts, te resultará más fácil entender Lua.

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas