Mulțumim pentru trimiterea solicitării! Un membru al echipei noastre vă va contacta în curând.
Mulțumim pentru trimiterea rezervării! Un membru al echipei noastre vă va contacta în curând.
Durata 14 ore
Schița de curs
Introducere în Lua
- Un pic de istorie
- Obiectivele, caracteristicile și non-obiectivele limbajului Lua
- Resurse de documentație și tutoriale pentru Lua
- Instalarea interpretorului Lua
- Configurarea și utilizarea LuaRocks
Sintaxă și semantică de bază
- Identificatori
- Comentarii, comentarii bloc
- Variabile globale și aplicarea stricteții
- Variabile locale
- Programe de sine stătătoare, argumente de program
- Unități de compilare, chunk-uri, expresii, punct și virgulă
Tipuri de date și structuri de date
- Tipuri de bază: nil, boolean, number, string
- Tipuri obiect: function, userdata, thread, table
- Referințe/obiecte vs. valori de bază
- Importanța tabelelor în Lua
Introducere în tabele și versatilitatea lor
- Tabelele ca array asociativ
- Tabelele ca array-uri numerice, secvențe
Structuri de control de bază
- Structura if then elseif else end
- Bucla while
- Bucla repeat
- Bucla for simplă
Gestionarea erorilor
- Valori returnate vs excepții
- Conversia unei valori returnate într-o excepție
- Conversia unei excepții într-o valoare returnată
- Niveluri de eroare
Exemple de programe
- Evaluare polinomială
- Căutare în lățime (breadth first search)
- Exerciții suplimentare
Mai multe despre funcții
- Argumente cu nume
- Apeluri orientate pe obiecte
- Închideri (closures)
- Currying
- Apeluri tail
- Atribuire multiplă și returnare
- Varargs
Iteratori și co-rutine
- Bucla for generică
- Iteratori fără stare vs. iteratori cu stare
- Diferențe între iteratori și co-rutine
Metatabele și metametode
- Exemplul cu set
- Metametoda __tostring
- Metametode aritmetice
- Metametodele __index, __newindex
- Metametoda __len
Module și pachete
- Utilizarea modulelor
- Crearea modulelor
- Organizarea modulelor în pachete
Programare orientată pe obiecte
- Blocurile de construcție ale OOP în Lua
- Exemple
Discuții despre caracteristicile mai avansate ale limbajului
- Tabele slabe
- Finalizatori
- Compilare, evaluare, încărcare
Cerințe
Familiaritate cu cel puțin un alt limbaj de programare. Experiență în programare. Opțional, dacă ești familiarizat cu alte limbaje de scripting, îți va fi mai ușor să înțelegi Lua.