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.
Schița de curs
Introducere în Lua
- Un pic de istorie
- Obiectivele, caracteristicile și non-obiectivele Lua
- Resurse de documentație și tutoriale Lua
- Instalarea interpretorului Lua
- Configurarea și utilizarea LuaRocks
Sintaxă și semantică de bază
- Identificatori
- Comentarii, comentarii bloc
- Variabile globale și impunerea 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
- Tabele ca array asociativ
- Tabele ca array-uri numerice, secvențe
Structuri de control de bază
- if then elseif else end
- Bucla while
- Bucla repeat
- Bucla for simplă
Tratarea 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
Programe exemplu
- Evaluarea polinoamelor
- Căutare în lățime (breadth first search)
- Exerciții suplimentare
Mai multe despre funcții
- Argumente numite
- Apeluri orientate pe obiecte
- Closures
- Currying
- Tail calls
- Atribuire multiplă și returnare
- Varargs
Iteratori și co-rutine
- Bucla for generică
- Iteratori fără stare vs cu stare
- Diferențe între iteratori și co-rutine
Metatabele și metametode
- Exemplul 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ție despre caracteristici mai avansate ale limbajului
- Tabele slabe (weak tables)
- Finalizatori
- Compilare, eval, încărcare
Cerințe
Familiaritate cu cel puțin un alt limbaj de programare. Experiență de programare. Opțional, dacă ești familiarizat cu alte limbaje de scripting, îți va fi mai ușor să înțelegi Lua.
14 Ore