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.
Course Outline
Inleiding tot Lua
- Een beetje geschiedenis
- De doelen, kenmerken en niet-doelen van Lua.
- Bronnen van Lua documentatie en tutorials
- De Lua-interpreter installeren
- LuaRocks instellen en gebruiken
Basissyntaxis en semantiek
- Identificatiegegevens
- Reacties, blokkeer reacties
- Globale variabelen en het afdwingen van striktheid
- Lokale variabelen
- Op zichzelf staande programma's, programmaargumenten
- Compilatie-eenheden, chunks, expressies, puntkomma's
Datatypen en datastructuren
- Basistypen: nul, boolean, getal, string
- Objecttypen: functie, gebruikersgegevens, thread, tabel
- Referenties/objecten versus basiswaarden
- Het belang van tabellen in Lua
Inleiding tot tafels en hun veelzijdigheid
- Tabellen als associatieve array
- Tabellen als numerieke arrays, reeksen
Basiscontrolestructuren
- Het als dan elseif else eindigt
- De while-lus
- De herhalingslus
- De eenvoudige for-lus
Foutafhandeling
- Retourwaarden versus uitzonderingen
- Een retourwaarde converteren naar een uitzondering
- Een uitzondering converteren naar een retourwaarde
- Foutniveaus
Voorbeeldprogramma's
- Polynomiale evaluatie
- Breedte eerste zoekopdracht
- Aanvullende oefeningen
Meer over functies
- Benoemde argumenten
- Objectgeoriënteerde oproepen
- Sluitingen
- Curry
- Staart roept
- Meerdere opdracht en retour
- Varargs
Iterators en co-routines
- De generieke for-lus
- Staatloze versus stateful iteratoren
- Verschillen tussen iteratoren en co-routines
Metatabellen en metamethoden
- Het gestelde voorbeeld
- De __tostring-metamethode
- Rekenkundige metamethoden
- De __index, __newindex metamethoden
- De __len-metamethode
Modules en pakketten
- Modules gebruiken
- Modules maken
- Modules in pakketten organiseren
Geavanceerde tabellen
- Tabellen voor wachtrijen en stapels
- Tabellen die grafieken beschrijven
- Matrices als tabellen
- Gekoppelde lijsten als tabellen
- Stringbuffers
Metatabellen via voorbeelden
- Volmachten
- Alleen lezen
- Memoriseren
- Dynamisch programmeren met memoisatie
- Het Fibonacci-voorbeeld
Omgevingen
- Relatie tussen globale variabelen en omgevingen
- Gratis variabelen
- De _ENV-tabel en de _G-tabel
Meer over modules
- Verschillende benaderingen voor het maken van modules
- Modules die het gedrag veranderen
- Module-initialisatie en argumenten
- Omgevingen gebruiken om veilige modules te implementeren
Geavanceerde iterators en co-routines
- Producent, consument, filter
- Co-routines inpakken om iteratoren te krijgen
- Staatloze iterator voor gekoppelde lijsten
Bijdragen aan het ecosysteem
- Pakketten uploaden naar MoonRocks
Functioneel paradigma in Lua
- De kaartfunctie
- De verklein-/vouwfunctie
Objectgeoriënteerd Programming
- Verschillende benaderingen van OOP
- Verschillende benaderingen van overerving
- Voorbeelden
Een walkthrough van de Lua standaardbibliotheken
Compilatie
- Compilatie
- Eval
- Relatie met de omgeving
- Binaire stukjes
Afvalinzameling
- Zwakke tafels
- Finalizers, de __gc-metamethode
Lua bytecode en virtuele machine
- Het genereren van bytecode uit de broncode
- Bytecode lezen en analyseren
- Korte rondleiding door de broncode van de Lua VM
C-modules
- Bellen C vanaf Lua
- Search pad en laden van C-modules
Bellen naar Lua vanuit C
- De stapel
- Foutafhandeling
- Vervolg
Omgaan met Lua-waarden en typen uit C
- Arrays
- Snaren
- Gebruikersgegevens
- Metatabellen
- Objectgeoriënteerde oproepen
- Lichte gebruikersgegevens
Geheugen management
- Allocators
- GC-API
Onderwerpen in Lua
- Co-routines versus threads
- Echte multi-threading en Lua-statussen
Requirements
Kennis van minimaal één andere programmeertaal. Programming ervaring. Als u bekend bent met andere scripttalen, wordt het optioneel gemakkelijker om Lua te begrijpen.
21 Hours
Getuigenissen (3)
Een grote hoeveelheid praktische kennis getoond in praktijkvoorbeelden.
Kamil - Streamsoft Kraków
Cursus - Java Advanced
Machine Translated
Regelmatig wijzigingen pushen, want op dag 3 begon ik meer te verdwalen dan voorheen en was het moeilijker om een fout snel op te sporen, ik kon snel uitchecken voor de laatste wijziging en op de hoogte zijn van het materiaal
Paulina
Cursus - Advanced Java Security
Machine Translated
Very good knowledge and character.