Intrati in legatura
 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.

Numărul de participanți


Pret per participant

Cursuri viitoare

Categorii înrudite