Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
Návrh Školení
Úvod do Lua
- Krátce o historii
- Cíle, vlastnosti a nezájmy Lua
- Zdroje dokumentace a tutoriálů k Lua
- Instalace interpretru 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 podporování striktnosti
- Lokální proměnné
- Samostatné programy, argumenty programu
- Kompilace jednotek, části, výrazy, středníky
Datové typy a struktury dat
- Základní typy: nil, boolean, number, string
- Typy objektů: function, userdata, thread, table
- Odkazy/objekty vs. základní hodnoty
- Důležitost tabulek v Lua
Úvod do tabulek a jejich univerzálnosti
- Tabulky jako asociativní pole
- Tabulky jako číselné pole, sekvence
Základní řídicí struktury
- Příkaz if then elseif else end
- Cyklus while
- Cyklus repeat
- Jednoduchý cyklus for
Zpracování chyb
- Návratové hodnoty vs. výjimky
- Převod návratové hodnoty na výjimku
- Převod výjimky na návratovou hodnotu
- Úrovně chyb
Ukázkové programy
- Hodnocení polynomů
- Bredth-first hledání (prohlížení stromu v šířku)
- Další cvičení
Více o funkcích
- Jmenované argumenty
- Objektově orientované volání
- Zavřené funkce (closures)
- Kurýrování (currying)
- Hvostové volání (tail calls)
- Víceprvková přiřazení a návraty
- Parametry s proměnným počtem argumentů (varargs)
Iterátory a koprocesy
- Generický cyklus for
- Bezstavové vs. stavy s iterátory
- Rozdíly mezi iterátory a koprocesy
Metaloady a metamythody
- Příklad s množinou (set)
- Metametoda __tostring
- Aritmetické metamethody
- Metamethody __index, __newindex
- Metametoda __len
Moduly a balíčky
- Použití modulů
- Vytváření modulů
- Seskupování modulů do balíčků
Objektově orientované programování
- Základní stavební kameny OOP v Lua
- Příklady
Diskuse o pokročilejších jazykových funkcích
- Slabé tabulky (weak tables)
- Finalizátory
- Kompilace, vyhodnocování, načítání
Požadavky
Znalost alespoň jednoho dalšího programovacího jazyka. Programming zkušenost. Volitelně, pokud znáte jiné skriptovací jazyky, usnadní to pochopení Lua.
14 hodiny