Vielen Dank für die Zusendung Ihrer Anfrage! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Vielen Dank, dass Sie Ihre Buchung abgeschickt haben! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Schulungsübersicht
Einführung in Lua
- Ein kurzer Rückblick auf die Geschichte
- Ziele, Merkmale und explizit ausgeklammerte Aspekte von Lua
- Ressourcen zur Lua-Dokumentation und zu Tutorials
- Installation des Lua-Interpreters
- Einrichten und Nutzen von LuaRocks
Grundlegende Syntax und Semantik
- Bezeichner (Identifiers)
- Kommentare, Blockkommentare
- Globale Variablen und Erzwingung von Strenge (strictness)
- Lokale Variablen
- Eigenständige Programme, Programargumente
- Kompilationseinheiten, Chunks, Ausdrücke, Semikolons
Datentypen und Datenstrukturen
- Basistypen: nil, boolean, number, string
- Objekttypen: function, userdata, thread, table
- Referenzen/Objekte im Vergleich zu Basiswerten
- Die Bedeutung von Tabellen (tables) in Lua
Einführung in Tabellen und ihre Vielseitigkeit
- Tabellen als assoziative Arrays
- Tabellen als numerische Arrays, Sequenzen
Grundlegende Kontrollstrukturen
- if then elseif else end
- while-Schleife
- repeat-Schleife
- einfache for-Schleife
Fehlerbehandlung
- Rückgabewerte im Vergleich zu Ausnahmen
- Umrechnung eines Rückgabewerts in eine Ausnahme
- Umrechnung einer Ausnahme in einen Rückgabewert
- Fehlerstufen (error levels)
Beispielprogramme
- Auswertung von Polynomen
- Breadth-First Search (Breitensuche)
- Zusätzliche Übungen
Vertieftes zu Funktionen
- Genannte Argumente (named arguments)
- Objektorientierte Aufrufe
- Closures
- Currying
- Tail Calls
- Mehrfachzuweisung und Mehrfachrückgabe
- Varargs (Variable Arguments)
Iteratoren und Co-Routinen
- Die generische for-Schleife
- Statuslose versus zustandsbehaftete Iteratoren
- Unterschiede zwischen Iteratoren und Co-Routinen
Metatables und Metamethoden
- Das Beispiel „set“ (Menge)
- Die __tostring-Methamode
- Ariphmetische Metamethoden
- Die __index- und __newindex-Metamethoden
- Die __len-Metamethode
Module und Pakete
- Module verwenden
- Module erstellen
- Module in Pakete organisieren
Objektorientierte Programmierung
- Die Bausteine der OOP in Lua
- Beispiele
Diskussion zu erweiterten Sprachfeatures
- Schwache Tabellen (weak tables)
- Finalizer
- Kompilierung, eval, Laden
Voraussetzungen
Kenntnisse in mindestens einer weiteren Programmiersprache. Programmierfahrung. Optional: Wenn Sie mit anderen Skriptsprachen vertraut sind, wird Ihnen das Verständnis von Lua erleichtert.
14 Stunden