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 à Lua
- Um pouco de história
- Objetivos, recursos e não objetivos da Lua
- Recursos de documentação e tutoriais sobre Lua
- Instalação do interpretador Lua
- Configuração e uso do LuaRocks
Sintaxe básica e semântica
- Identificadores
- Comentários, comentários de bloco
- Variáveis globais e imposição de rigorose (strict mode)
- Variáveis locais
- Programas independentes, argumentos de linha de comando
- Unidades de compilação, blocos (chunks), expressões, ponto e vírgula
Tipos de dados e estruturas de dados
- Tipos básicos: nil, booleano, número, string
- Tipos de objeto: função, userdata, thread, tabela
- Referências/objetos versus valores primitivos
- A importância das tabelas em Lua
Introdução às tabelas e sua versatilidade
- Tabelas como matrizes associativas
- Tabelas como matrizes numéricas, sequências
Estruturas de controle básicas
- A estrutura if then elseif else end
- O laço while
- O laço repeat
- O laço for simples
Tratamento de erros
- Valores de retorno versus exceções
- Conversão de valor de retorno em exceção
- Conversão de exceção em valor de retorno
- Níveis de erro
Exemplos de programas
- Avaliação de polinômios
- Pesquisa em largura (BFS)
- Exercícios adicionais
Mais sobre funções
- Argumentos nomeados
- Chamadas orientadas a objetos
- Closures (fechamentos)
- Currying (currização)
- Chamadas de cauda (tail calls)
- Atribuição e retorno múltiplos
- Varargs (argumentos variáveis)
Iteradores e co-rotinas
- O laço for genérico
- Iteradores sem estado versus com estado
- Diferenças entre iteradores e co-rotinas
Metatables e metamétodos
- O exemplo de conjuntos (sets)
- O metamétodo __tostring
- Metamétodos aritméticos
- Os metamétodos __index e __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 de POO em Lua
- Exemplos
Discussão sobre recursos mais avançados da linguagem
- Tabelas fracas (weak tables)
- Finalizadores
- Compilação, avaliação (eval), carregamento
Requisitos
Conhecimento prévio de pelo menos uma outra linguagem de programação. Experiência com programação. Opcionalmente, familiaridade com outras linguagens de scripting facilitará o entendimento de Lua.
14 Horas