Scegli la tua lingua
Corso Lua
Più di 2 milioni di studenti in tutto il mondo

Corso Lua

Impara Lua partendo da zero e acquisisci le competenze di programmazione che alimentano motori di gioco, sistemi embedded e strumenti di automazione in tutto il mondo. Questo corso ti porta dal tuo primo script fino ad argomenti avanzati come coroutine, metatabelle e API C. Ogni concetto viene insegnato con esempi pratici e concreti che potrai applicare immediatamente.

Dedika per aziende

Cosa imparerai:

Questo corso copre ogni area essenziale della programmazione Lua, a partire dalla configurazione dell'ambiente, dalla sintassi e dai tipi di dati. Padroneggerai il controllo di flusso, le funzioni, le closure e il potente sistema di tabelle di Lua. Il programma si sposta poi sulla manipolazione delle stringhe, il pattern matching, le metatabelle e la progettazione orientata agli oggetti. Imparerai anche a organizzare il codice in moduli, gestire gli errori a runtime e gestire le dipendenze con LuaRocks. Gli argomenti avanzati includono coroutine, garbage collection, ottimizzazione delle prestazioni e API C di Lua. Le sezioni supplementari riguardano lo sviluppo di giochi con LÖVE, l'automazione di sistema, i test con busted e le pratiche professionali di team.

Come studi in modo pratico Corso Lua

Come metti in pratica Corso Lua

Per te che sei un'azienda e vuoi formare il tuo team

Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.

Clicca qui

Contenuto del corso

8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

Fondamenti di Lua e Configurazione dell'Ambiente

  • Lezione 1 • Variabili e Tipi di Dato

    Illustra la tipizzazione dinamica, nil, booleani, numeri e stringhe. Gli studenti acquisiscono la capacità di memorizzare e ispezionare valori in qualsiasi programma Lua.

  • Lezione 2 • Sintassi Lua e Struttura del Codice

    Introduce la sintassi delle istruzioni, i commenti e le regole sugli spazi. Fornisce le fondamenta grammaticali da cui dipende ogni script successivo.

  • Lezione 3 • Installazione e Configurazione di Lua

    Tratta l'installazione del runtime Lua sui principali sistemi operativi e la configurazione dell'editor. Si ricollega al capitolo consentendo la pratica pratica fin dalla prima lezione.

  • Lezione 4 • Input e Output di Base

    Insegna l'uso di print, io.write e io.read per l'interazione con la console. Consente agli studenti di produrre output visibile e accettare input dell'utente immediatamente.

  • Lezione 5 • Operatori ed Espressioni

    Tratta gli operatori aritmetici, relazionali, logici e di concatenazione. Sviluppa le abilità di scrittura di espressioni utilizzate in tutti i capitoli successivi.

Capitolo 2Vedi dettagli

Flusso di Controllo e Logica del Programma

  • Lezione 1 • Break, Goto e Controllo del Ciclo

    Spiega break per uscire dai cicli e goto per salti controllati. Completa il toolkit del flusso di controllo con modelli d'uso sicuri e intenzionali.

  • Lezione 2 • Cicli For Numerici e Generici

    Insegna il for numerico con controllo del passo e il for generico con iteratori. Prepara gli studenti all'attraversamento delle tabelle trattato nel prossimo capitolo.

  • Lezione 3 • Istruzioni Condizionali

    Tratta la sintassi di if, elseif ed else con condizioni annidate. Abilita direttamente la logica di ramificazione richiesta da ogni programma non banale.

  • Lezione 4 • Cicli While e Repeat

    Introduce i cicli while e repeat-until per iterazioni guidate da condizioni. Gli studenti imparano quando ciascun tipo di ciclo si adatta meglio a un dato problema.

Capitolo 3Vedi dettagli

Funzioni e Scope

  • Lezione 1 • Funzioni Ricorsive

    Tratta la ricorsione diretta e mutua con progettazione del caso base. Sviluppa abilità di scomposizione dei problemi applicate in algoritmi e strutture dati.

  • Lezione 2 • Valori di Ritorno Multipli e Varargs

    Spiega come restituire valori multipli e usare la sintassi vararg ... . Sblocca firme di funzione flessibili comuni negli idiomi Lua.

  • Lezione 3 • Scope Locale vs. Globale

    Distingue i tempi di vita e le regole di visibilità delle variabili locali e globali. Previene i comuni bug di scope che emergono negli script più grandi.

  • Lezione 4 • Definire e Chiamare Funzioni

    Tratta la sintassi di dichiarazione delle funzioni, i parametri e i valori di ritorno. Stabilisce il meccanismo di astrazione primario utilizzato in tutto il corso.

  • Lezione 5 • Closure e Upvalue

    Introduce le closure come funzioni che catturano upvalue da scope racchiudenti. Abilita factory di funzioni con stato e modelli di callback.

Capitolo 4Vedi dettagli

Tabelle: La Struttura Dati Centrale di Lua

  • Lezione 1 • Manipolazione di Tabelle con la Libreria table

    Introduce table.insert, table.remove, table.sort e table.concat. Fornisce agli studenti gli strumenti della libreria standard per le operazioni comuni sulle tabelle.

  • Lezione 2 • Tabelle come Array

    Spiega le sequenze con chiave intera e l'operatore di lunghezza #. Consente l'archiviazione di dati in stile lista e l'elaborazione sequenziale.

  • Lezione 3 • Creazione e Accesso alle Tabelle

    Tratta la sintassi del costruttore di tabelle e i modelli di accesso chiave-valore. Fornisce le fondamenta per ogni compito di modellazione dei dati in Lua.

  • Lezione 4 • Tabelle come Dizionari

    Tratta chiavi stringa e miste per l'archiviazione di dati in stile mappa. Si ricollega a casi d'uso reali come configurazione e oggetti record.

  • Lezione 5 • Tabelle come Riferimenti

    Spiega la semantica di riferimento, le copie superficiali e gli effetti di aliasing. Previene bug di corruzione dei dati quando si passano tabelle alle funzioni.

Capitolo 5Vedi dettagli

Stringhe e Pattern Matching

  • Lezione 1 • Sostituzione e Iterazione di Pattern

    Insegna string.gsub per la sostituzione e string.gmatch per l'iterazione. Completa il toolkit dei pattern per flussi di lavoro completi di trasformazione del testo.

  • Lezione 2 • Formattazione di Stringhe con string.format

    Insegna gli specificatori di formato per numeri, stringhe e riempimento. Consente una formattazione precisa dell'output richiesta nel logging e nel reporting.

  • Lezione 3 • Elementi Essenziali della Libreria string

    Tratta string.len, string.sub, string.upper, string.lower e string.rep. Costruisce il toolkit di base per l'elaborazione del testo per tutti i compiti sulle stringhe.

  • Lezione 4 • Trovare e Abbinare Pattern

    Tratta string.find, string.match e i gruppi di cattura. Abilita l'estrazione di dati strutturati da input di testo grezzo.

  • Lezione 5 • Sintassi dei Pattern e Classi di Caratteri

    Introduce i pattern Lua, le ancore, i quantificatori e le classi di caratteri. Fornisce la grammatica per tutte le operazioni find, match e gsub.

Capitolo 6Vedi dettagli

Metatabelle e Lua Orientato agli Oggetti

  • Lezione 1 • Costruire Classi con Prototipi

    Implementa costruttori di classe e dispatch dei metodi tramite catene __index. Gli studenti creano progetti di oggetti riutilizzabili con metodi condivisi.

  • Lezione 2 • Ereditarietà e Polimorfismo

    Estende le catene di prototipi per ereditarietà singola e overriding dei metodi. Completa il modello OOP con modelli di sottoclasse e super-chiamata.

  • Lezione 3 • Metametodi Aritmetici e di Confronto

    Tratta i metametodi __add, __sub, __mul, __eq, __lt e __le. Consente ai tipi personalizzati di partecipare alle espressioni Lua standard.

  • Lezione 4 • Metametodi Index e Newindex

    Insegna __index per la ricerca di proprietà e __newindex per l'intercettazione della scrittura. Consente valori predefiniti, tabelle di sola lettura e oggetti proxy.

  • Lezione 5 • Introduzione alle Metatabelle

    Spiega setmetatable, getmetatable e il contratto delle metatabelle. Stabilisce il meccanismo alla base di tutta la personalizzazione avanzata delle tabelle.

Capitolo 7Vedi dettagli

Moduli, Pacchetti e Gestione degli Errori

  • Lezione 1 • Debug con la Libreria debug

    Tratta debug.traceback, debug.getinfo e le funzioni hook. Fornisce agli studenti strumenti per diagnosticare problemi in programmi complessi e multi-modulo.

  • Lezione 2 • require e il Sistema dei Pacchetti

    Spiega require, package.path e il comportamento di caching dei moduli. Insegna agli studenti a caricare e gestire le dipendenze in modo affidabile.

  • Lezione 3 • Errori Personalizzati e Oggetti Errore

    Insegna error() con livelli e oggetti tabella errore strutturati. Consente una segnalazione degli errori informativa e leggibile dalle macchine nelle librerie.

  • Lezione 4 • Gestione degli Errori con pcall e xpcall

    Introduce pcall e xpcall per chiamate protette e cattura degli errori. Evita che errori non gestiti facciano crashare gli script in produzione.

  • Lezione 5 • Creare e Usare Moduli

    Tratta il modello del modulo come tabella e la restituzione di API pubbliche. Consente la separazione e il riutilizzo del codice su più file di script.

Capitolo 8Vedi dettagli

Lua Avanzato e Ottimizzazione delle Prestazioni

  • Lezione 1 • Iteratori Costruiti con Coroutine

    Costruisce iteratori con stato usando coroutine.wrap per una sintassi pulita. Collega la conoscenza delle coroutine all'uso pratico del for generico.

  • Lezione 2 • Profiling e Ottimizzazione delle Prestazioni

    Applica la temporizzazione, il caching locale e la pre-allocazione delle tabelle per ridurre l'overhead. Gli studenti misurano e migliorano le prestazioni degli script con benchmark concreti.

  • Lezione 3 • Coroutine e Multitasking Cooperativo

    Introduce coroutine.create, resume, yield e status. Abilita lo scheduling cooperativo e pipeline produttore-consumatore in Lua.

  • Lezione 4 • Gestione della Memoria e Garbage Collection

    Tratta il GC incrementale, collectgarbage() e le tabelle weak. Insegna agli studenti a controllare l'uso della memoria nelle applicazioni a lunga esecuzione.

  • Lezione 5 • L'Ambiente e _ENV

    Spiega _ENV come tabella globale e il controllo dell'ambiente a livello di chunk. Abilita tecniche di sandboxing e gestione dinamica dei globali.

Certificazione

Il tuo certificato valido di completamento

Questo corso è per te:

  • Programmatrici e programmatori principianti: desiderosi di apprendere un linguaggio di scripting leggero e versatile.

  • Sviluppatori di giochi: che desiderano scrivere script di logica all'interno di motori come LÖVE o Defold.

  • Sviluppatori C/C++ che desiderano integrare un livello di scripting veloce nelle loro applicazioni.

  • Ingegneri dell'automazione: che necessitano di un linguaggio compatto per strumenti di build e script di sistema.

  • Studenti di informatica: alla ricerca di un linguaggio pratico oltre al Java o Python studiati in aula.

  • Professionisti in transizione di carriera: passaggio a ruoli software attraverso un linguaggio mirato e accessibile.

Cosa dicono i nostri studenti

Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

Principali percorsi formativi

FAQ

Chi è Dedika?

Il certificato è valido in Italia?

I corsi sono gratuiti?

Qual è il carico di lavoro del corso?

Come sono strutturati i corsi?

Come funzionano i corsi?

Qual è la durata dei corsi?

Qual è il costo o il prezzo dei corsi?

Cos’è un corso EAD o online e come funziona?

Corso PDF