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
 

Numero di Partecipanti


Data Inizio

Data Fine


Le date sono soggette a disponibilità e si svolgono tra le 09:30 e le 16:30.
I corsi di formazione pubblici richiedono più di 5 partecipanti.

Corsi relativi

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

  28 ore

Advanced Java Security

  21 ore

Combined JAVA, PHP and Web Application Security

  28 ore

Standard Java Security

  14 ore

Java and Web Application Security

  21 ore

Advanced Java, JEE and Web Application Security

  28 ore

Categorie relative