Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Návrh Školení
Úvod do Lua
- Něco z historie Cíle, funkce a jiné cíle Lua Zdroje dokumentace a výukových programů Lua Instalace interpretu Lua Nastavení a používání LuaRocks
Základní syntaxe a sémantika
- Identifikátory Komentáře, blokové komentáře Globální proměnné a vynucení přísnosti Lokální proměnné Samostatné programy, argumenty programu Kompilační jednotky, bloky, výrazy, středníky
Datové typy a datové struktury
- Základní typy: nil, boolean, number, string Typy objektů: funkce, uživatelská data, vlákno, tabulka Reference/objekty vs. základní hodnoty Význam tabulek v Lua
Úvod do tabulek a jejich všestrannosti
- Tabulky jako asociativní pole Tabulky jako číselná pole, sekvence
Základní řídicí struktury
- The if then elseif else end Smyčka while Smyčka opakování Jednoduchá smyčka for
Vypořádání se s chybou
- Návratové hodnoty vs výjimky Převod návratové hodnoty na výjimku Převedení výjimky na návratovou hodnotu Úrovně chyb
Ukázkové programy
- Vyhodnocení polynomu První vyhledávání šířky Doplňková cvičení
Více o funkcích
- Pojmenované argumenty Objektově orientovaná volání Uzavírání volání Currying Tail Vícenásobné přiřazení a návrat Varargs
Iterátory a korutiny
- Obecná smyčka for Bezstavové vs stavové iterátory Rozdíly mezi iterátory a společnými rutinami
Metatabulky a metametody
- Příklad sady Metametoda __tostring Aritmetické metametody Metametody __index, __newindex Metametoda __len
Moduly a balíčky
- Používání modulů Vytváření modulů Organizace modulů do balíčků
Pokročilé tabulky
- Tabulky pro fronty a zásobníky Tabulky popisující grafy Matice jako tabulky Propojené seznamy jako tabulky Řetězcové buffery
Metatabulky prostřednictvím příkladů
- Proxy Memoization pouze pro čtení Dynamické programování s memoization Fibonacciho příklad
Prostředí
- Vztah mezi globálními proměnnými a prostředími Volné proměnné Tabulka _ENV a tabulka _G
Více o modulech
- Různé přístupy k vytváření modulů Moduly, které mění chování Inicializace modulu a argumenty Použití prostředí k implementaci bezpečných modulů
Pokročilé iterátory a korutiny
- Producent, spotřebitel, filtr Zabalení společných rutin pro získání iterátorů Bezstavový iterátor pro propojené seznamy
Přispívání k ekosystému
- Nahrávání balíčků do MoonRocks
Funkční paradigma v Lua
- Funkce mapy Funkce zmenšení / skládání
Objektově orientovaný Programming
- Různé přístupy k OOP Různé přístupy k dědičnosti Příklady
Přehled standardních knihoven Lua
Sestavení
- Kompilace Eval Vztah s prostředím Binární bloky
Odvoz odpadků
- Slabé tabulky Finalizátory, metametoda __gc
Lua bytecode a virtuální stroj
- Generování bajtkódu ze zdrojového kódu Čtení a analýza bajtkódu Rychlá prohlídka zdrojového kódu Lua VM
C moduly
- Volání C z Lua Search cesty a načítání C modulů
Volání Lua od C
- Chyba zásobníku zpracování pokračování
Práce s hodnotami a typy Lua z C
- Pole Řetězce Metatabulky uživatelských dat Objektově orientovaná volání Light userdata
Správa paměti
- Alokátory GC API
Vlákna v Lua
- Současné rutiny vs vlákna Skutečné vícevláknové zpracování a stavy Lua
Požadavky
Znalost alespoň jednoho dalšího programovacího jazyka. Programming zkušenost. Volitelně, pokud znáte jiné skriptovací jazyky, usnadní to pochopení Lua.
21 hodiny
Reference (3)
Velké množství praktických znalostí ukázaných na příkladech ze života.
Kamil - Streamsoft Kraków
Kurz - Java Advanced
Machine Translated
Průběžné prosazování změn, když jsem se 3. den začal ztrácet více než dříve a bylo těžší rychle odhalit chybu, mohl jsem rychle zkontrolovat nejnovější změny a zůstat v obraze s materiálem
Paulina
Kurz - Advanced Java Security
Machine Translated
Very good knowledge and character.