Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Struttura del corso
Introduzione a Lua
- Un po' di storia
- Obiettivi, caratteristiche e non obiettivi di Lua
- Risorse di Lua documentazione ed esercitazioni
- Installazione dell'interprete Lua
- Impostazione e utilizzo di LuaRocks
Sintassi e semantica di base
- Identificatori
- Commenti, bloccare i commenti
- Variabili globali e applicazione del rigore
- Variabili locali
- Programmi autonomi, argomenti di programma
- Unità di compilazione, blocchi, espressioni, punto e virgola
Tipi di dati e strutture di dati
- Tipi di base: nil, booleano, numero, stringa
- Tipi di oggetto: function, userdata, thread, table
- Riferimenti/oggetti vs. valori di base
- L'importanza delle tabelle in Lua
Introduzione alle tabelle e alla loro versatilità
- Tabelle come array associativo
- Tabelle come matrici numeriche, sequenze
Strutture di controllo di base
- L'if then elseif else end
- Il ciclo while
- Il ciclo di ripetizione
- Il semplice ciclo for
Gestione degli errori
- Valori restituiti ed eccezioni
- Conversione di un valore restituito in un'eccezione
- Conversione di un'eccezione in un valore restituito
- Livelli di errore
Esempi di programmi
- Valutazione polinomiale
- Ampiezza prima ricerca
- Esercizi aggiuntivi
Maggiori informazioni sulle funzioni
- Argomenti denominati
- Chiamate orientate agli oggetti
- Chiusure
- Currying
- Chiamate di coda
- Assegnazione multipla e restituzione
- Varargs
Iteratori e co-routine
- Il ciclo for generico
- Iteratori senza stato e iteratori con stato
- Differenze tra iteratori e co-routine
Metatabelle e metametodi
- L'esempio dato
- Il metametodo __tostring
- Metametodi aritmetici
- I metametodi __index __newindex
- Il metametodo __len
Moduli e pacchetti
- Utilizzo dei moduli
- Creazione di moduli
- Organizzazione dei moduli in pacchetti
Programmazione orientata agli oggetti
- Gli elementi costitutivi dell'OOP in Lua
- Esempi
Discussione sulle funzionalità linguistiche più avanzate
- Tabelle deboli
- Finalizzatori
- Compilazione, valutazione, caricamento
Requisiti
Familiarità con almeno un altro linguaggio di programmazione. Programming Esperienza. Opzionalmente, se si ha familiarità con altri linguaggi di scripting, ciò renderà più facile la comprensione di Lua.
14 ore