Köszönjük, hogy elküldte érdeklődését! Csapatunk egyik tagja hamarosan felveszi Önnel a kapcsolatot.
Köszönjük, hogy elküldte foglalását! Csapatunk egyik tagja hamarosan felveszi Önnel a kapcsolatot.
Kurzusleírás
Bevezetés a Luába
- Egy kis történelem
- A Lua céljai, jellemzői és nem céljai
- A Lua dokumentáció és oktatóanyagok forrásai
- A Lua interpreter telepítése
- A LuaRocks beállítása és használata
Alapszintaxis és szemantika
- Azonosítók
- Megjegyzések, blokk megjegyzések
- Globális változók és a szigorúság kényszerítése
- Helyi változók
- Önálló programok, program argumentumok
- Fordítási egységek, darabok, kifejezések, pontosvesszők
Adattípusok és adatszerkezetek
- Alaptípusok: nil, boolean, szám, sztring
- Objektumtípusok: függvény, userdata, szál, tábla
- Hivatkozások/objektumok vs. alaptípusok
- A táblák jelentősége a Luában
Bevezetés a táblákba és sokoldalúságuk
- Táblák mint asszociatív tömbök
- Táblák mint numerikus tömbök, sorozatok
Alapvető vezérlési szerkezetek
- Az if then elseif else end
- A while ciklus
- A repeat ciklus
- Az egyszerű for ciklus
Hibakezelés
- Visszatérési értékek vs. kivételek
- Visszatérési érték átalakítása kivétellé
- Kivétel átalakítása visszatérési értékké
- Hibaszintek
Példaprogramok
- Polinom kiértékelése
- Szélességi keresés
- További gyakorlatok
További információk a függvényekről
- Névvel ellátott argumentumok
- Objektumorientált hívások
- Zárások
- Currying
- Farokhívások
- Többszörös értékadás és visszatérés
- Varargs
Iterátorok és ko-rutinok
- A generikus for ciklus
- Állapotmentes vs. állapotfüggő iterátorok
- Különbségek iterátorok és ko-rutinok között
Metatáblák és metódusok
- A halmaz példa
- A __tostring metódus
- Aritmetikai metódusok
- A __index, __newindex metódusok
- A __len metódus
Modulok és csomagok
- Modulok használata
- Modulok létrehozása
- Modulok csomagokba szervezése
Haladó táblakezelés
- Táblák sorok és veremekhez
- Gráfok leírása táblákkal
- Mátrixok táblákként
- Láncolt listák táblákként
- Karakterlánc pufferek
Metatáblák példákon keresztül
- Proxyk
- Csak olvasható
- Memorizáció
- Dinamikus programozás memorizációval
- A Fibonacci példa
Környezetek
- Kapcsolat a globális változók és a környezetek között
- Szabad változók
- A _ENV tábla és a _G tábla
További információk a modulokról
- Különböző megközelítések modulok létrehozására
- Modulok, amelyek megváltoztatják a viselkedést
- Modul inicializálás és argumentumok
- Környezetek használata biztonságos modulok implementálásához
Haladó iterátorok és ko-rutinok
- Termelő, fogyasztó, szűrő
- Ko-rutinok becsomagolása iterátorokká
- Állapotmentes iterátor láncolt listákhoz
Hozzájárulás az ökoszisztémához
- Csomagok feltöltése a MoonRocks-ra
Funkcionális paradigma a Luában
- A map függvény
- A reduce / fold függvény
Objektumorientált programozás
- Különböző megközelítések az OOP-hez
- Különböző megközelítések az öröklődéshez
- Példák
Bemutató a Lua Standard Könyvtárakról
Fordítás
- Fordítás
- Eval
- Kapcsolat a környezettel
- Bináris darabok
Szemetegyüjtés
- Gyenge táblák
- Finalizálók, a __gc metódus
Lua bytecode és virtuális gép
- Bytecode generálása forráskódból
- Bytecode olvasása és elemzése
- Gyors bemutató a Lua VM forráskódjáról
C modulok
- C hívása a Luából
- Keresési útvonal és C modulok betöltése
Lua hívása C-ből
- A verem
- Hibakezelés
- Folytatások
Lua értékek és típusok kezelése C-ből
- Tömbök
- Karakterláncok
- Userdata
- Metatáblák
- Objektumorientált hívások
- Könnyű userdata
Memóriakezelés
- Memóriafoglalók
- GC API
Szálak a Luában
- Ko-rutinok vs. szálak
- Valós több szálúság és Lua állapotok
Követelmények
Ismeret legalább egy másik programozási nyelvről. Programozási tapasztalat. Opcionálisan, ha ismerős más szkriptnyelvek, az megkönnyíti a Lua megértését.
21 Órák