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 bisschen Geschichte
- Luas Ziele, Funktionen und Nichtziele
- Ressourcen von Lua Dokumentation und Tutorials
- Installieren des Lua-Interpreters
- Einrichten und Verwenden von LuaRocks
Grundlegende Syntax und Semantik
- Identifikatoren
- Kommentare, Kommentare blockieren
- Globale Variablen und Durchsetzung von Strenge
- Lokale Variablen
- Eigenständige Programme, Programmargumente
- Kompilierungseinheiten, Chunks, Ausdrücke, Semikolons
Datentypen und Datenstrukturen
- Grundtypen: Null, Boolescher Wert, Zahl, Zeichenfolge
- Objekttypen: Funktion, Benutzerdaten, Thread, Tabelle
- Referenzen/Objekte vs. Grundwerte
- Die Bedeutung von Tabellen in Lua
Einführung in Tabellen und ihre Vielseitigkeit
- Tabellen als assoziatives Array
- Tabellen als numerische Arrays, Sequenzen
Grundlegende Kontrollstrukturen
- Das if then elseif else-Ende
- Die while-Schleife
- Die Wiederholungsschleife
- Die einfache for-Schleife
Fehlerbehandlung
- Rückgabewerte vs. Ausnahmen
- Konvertieren eines Rückgabewerts in eine Ausnahme
- Konvertieren einer Ausnahme in einen Rückgabewert
- Fehlerstufen
Beispielprogramme
- Polynomauswertung
- Breitensuche zuerst
- Zusätzliche Übungen
Mehr über Funktionen
- Benannte Argumente
- Objektorientierte Aufrufe
- Schließungen
- Curry
- Tail Calls
- Mehrfache Zuweisung und Rückgabe
- Varargs
Iteratoren und Co-Routinen
- Die generische for-Schleife
- Zustandslose vs. zustandsbehaftete Iteratoren
- Unterschiede zwischen Iteratoren und Co-Routinen
Metatabellen und Metamethoden
- Das gesetzte Beispiel
- Die __tostring-Metamethode
- Arithmetische Metamethoden
- Die Metamethoden __index, __newindex
- Die __len-Metamethode
Module und Pakete
- Verwendung von Modulen
- Module erstellen
- Organisieren von Modulen in Paketen
Erweiterte Tabellen
- Tische für Warteschlangen und Stapel
- Tabellen, die Diagramme beschreiben
- Matrizen als Tabellen
- Verknüpfte Listen als Tabellen
- String-Puffer
Metatabellen anhand von Beispielen
- Proxys
- Schreibgeschützt
- Auswendiglernen
- Dynamische Programmierung mit Memoisierung
- Das Fibonacci-Beispiel
Umgebungen
- Beziehung zwischen globalen Variablen und Umgebungen
- Freie Variablen
- Die _ENV-Tabelle und die _G-Tabelle
Mehr zu Modulen
- Verschiedene Ansätze zur Modulerstellung
- Module, die das Verhalten ändern
- Modulinitialisierung und Argumente
- Verwendung von Umgebungen zur Implementierung sicherer Module
Erweiterte Iteratoren und Co-Routinen
- Produzent, Konsument, Filter
- Co-Routinen einschließen, um Iteratoren zu erhalten
- Zustandsloser Iterator für verknüpfte Listen
Beitrag zum Ökosystem
- Hochladen von Paketen auf MoonRocks
Funktionsparadigma in Lua
- Die Kartenfunktion
- Die Funktion „Reduzieren/Falten“.
Objektorientiert Programming
- Verschiedene Ansätze für OOP
- Verschiedene Ansätze zur Vererbung
- Beispiele
Eine exemplarische Vorgehensweise für die Lua Standardbibliotheken
Zusammenstellung
- Zusammenstellung
- Bewertung
- Beziehung zur Umwelt
- Binäre Blöcke
Müllabfuhr
- Schwache Tische
- Finalizer, die __gc-Metamethode
Lua Bytecode und virtuelle Maschine
- Generieren von Bytecode aus Quellcode
- Bytecode lesen und analysieren
- Kurzer Rundgang durch den Quellcode der Lua VM
C-Module
- Aufruf von C von Lua
- Search Pfad und Laden von C-Modulen
Aufruf von Lua aus C
- Der Stapel
- Fehlerbehandlung
- Fortsetzungen
Umgang mit Lua-Werten und -Typen aus C
- Arrays
- Saiten
- Benutzerdaten
- Metatabellen
- Objektorientierte Aufrufe
- Leichte Benutzerdaten
Speicherverwaltung
- Allokatoren
- GC-API
Threads in Lua
- Co-Routinen vs. Threads
- Echtes Multithreading und Lua-Zustände
Voraussetzungen
Vertrautheit mit mindestens einer weiteren Programmiersprache. Programming Erfahrung. Wenn Sie mit anderen Skriptsprachen vertraut sind, wird es Ihnen leichter fallen, Lua zu verstehen.
21 Stunden