Obrigado por enviar sua consulta! Um dos membros da nossa equipe entrará em contato com você em breve.
Obrigado por enviar sua reserva! Um dos membros da nossa equipe entrará em contato com você em breve.
Programa do Curso
Introdução ao Lua
- Um pouco de história
- Objetivos, recursos e não objetivos do Lua
- Recursos de documentação e tutoriais do Lua
- Instalação do interpretador Lua
- Configuração e uso do LuaRocks
Sintaxe e semântica básicas
- Identificadores
- Comentários, comentários de bloco
- Variáveis globais e aplicação de estriteza
- Variáveis locais
- Programas independentes, argumentos do programa
- Unidades de compilação, blocos, expressões, ponto e vírgula
Tipos de dados e estruturas de dados
- Tipos básicos: nil, boolean, number, string
- Tipos de objeto: function, userdata, thread, table
- Referências/objetos vs. valores básicos
- A importância das tabelas no Lua
Introdução às tabelas e sua versatilidade
- Tabelas como array associativo
- Tabelas como arrays numéricos, sequências
Estruturas de controle básicas
- if then elseif else end
- Laço while
- Laço repeat
- Laço for simples
Tratamento de erros
- Valores de retorno vs. exceções
- Convertendo um valor de retorno em exceção
- Convertendo uma exceção em valor de retorno
- Níveis de erro
Programas de exemplo
- Avaliação de polinômios
- Busca em largura (BFS)
- Exercícios adicionais
Mais sobre funções
- Argumentos nomeados
- Chamadas orientadas a objetos
- Fechamentos (closures)
- Currying
- Chamadas de cauda (tail calls)
- Atribuição e retorno múltiplos
- Varargs
Iteradores e co-rrotinas
- O laço for genérico
- Iteradores sem estado vs. com estado
- Diferenças entre iteradores e co-rrotinas
Metatabelas e metamétodos
- O exemplo do set
- 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 da POO no Lua
- Exemplos
Discussão sobre recursos avançados da linguagem
- Tabelas fracas (weak tables)
- Finalizadores
- Compilação, eval, carregamento
Requisitos
Familiaridade com pelo menos uma outra linguagem de programação. Experiência em programação. Opcionalmente, a familiaridade com outras linguagens de scripting facilitará o entendimento do Lua.
14 Horas