Programa do Curso

Introdução a Lua

  • Um pouco de história
  • Objetivos, recursos e não objetivos de Lua
  • Recursos de Lua documentação e tutoriais
  • Instalando o interpretador Lua
  • Configurando e usando LuaRocks

Sintaxe e semântica básicas

  • Identificadores
  • Comentários, bloquear comentários
  • Variáveis globais e aplicação de rigor
  • Variáveis locais
  • Programas independentes, argumentos de programa
  • Unidades de compilação, pedaços, expressões, ponto e vírgula

Tipos de dados e estruturas de dados

  • Tipos básicos: nulo, booleano, número, string
  • Tipos de objetos: função, userdata, thread, tabela
  • Referências/objetos vs. valores básicos
  • A importância das tabelas em Lua

Introdução às tabelas e sua versatilidade

  • Tabelas como uma matriz associativa
  • Tabelas como matrizes numéricas, sequências

Estruturas básicas de controle

  • O if then elseif else termina
  • O loop while
  • O ciclo de repetição
  • O loop for simples

Manipulação de erros

  • Valores de retorno versus exceções
  • Convertendo um valor de retorno em uma exceção
  • Convertendo uma exceção em um valor de retorno
  • Níveis de erro

Programas de exemplo

  • Avaliação polinomial
  • Amplitude da primeira pesquisa
  • Exercícios adicionais

Mais sobre funções

  • Argumentos nomeados
  • Chamadas orientadas a objetos
  • Fechamentos
  • Escovando
  • Chamadas finais
  • Atribuição múltipla e retorno
  • Varargs

Iteradores e co-rotinas

  • O loop for genérico
  • Iteradores sem estado vs. com estado
  • Diferenças entre iteradores e co-rotinas

Metatabelas e metamétodos

  • O exemplo definido
  • O metamétodo __tostring
  • Metamétodos aritméticos
  • Os metamétodos __index, __newindex
  • O metamétodo __len

Módulos e pacotes

  • Usando módulos
  • Criando módulos
  • Organizando módulos em pacotes

Programação orientada a objetos

  • Os blocos de construção do OOP em Lua
  • Exemplos

Discussão sobre recursos de linguagem mais avançados

  • Mesas fracas
  • Finalizadores
  • Compilação, avaliação, carregamento

Requisitos

Familiaridade com, pelo menos, uma outra linguagem de programação. Programming experiência. Opcionalmente, se você tiver familiaridade com outras linguagens de script, isso facilitará a compreensão de Lua.

  14 horas
 

Cursos Relacionados

Combined C/C++, JAVA and Web Application Security

  28 horas

Advanced Java Security

  21 horas

Combined JAVA, PHP and Web Application Security

  28 horas

Standard Java Security

  14 horas

Java and Web Application Security

  21 horas

Advanced Java, JEE and Web Application Security

  28 horas

Categorias Relacionadas