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.
Kursplan
Introduksjon til Lua
- Litt historie Luas mål, funksjoner og ikke-mål Ressurser for Lua dokumentasjon og veiledninger Installere Lua-tolken Sette opp og bruke LuaRocks
Grunnleggende syntaks og semantikk
- Identifikatorer Kommentarer, blokkkommentarer Globale variabler og håndheving av strenghet Lokale variabler Frittstående programmer, programargumenter Kompileringsenheter, biter, uttrykk, semikolon
Datatyper og datastrukturer
- Grunnleggende typer: null, boolsk, tall, streng Objekttyper: funksjon, brukerdata, tråd, tabell Referanser/objekter vs. grunnleggende verdier Viktigheten av tabeller i Lua
Introduksjon til bord og deres allsidighet
- Tabeller som en assosiativ matrise Tabeller som numeriske matriser, sekvenser
Grunnleggende kontrollstrukturer
- The if then elseif else end The while loop The repeat loop The simple for loop
Feilhåndtering
- Returverdier vs unntak Konvertering av en returverdi til et unntak Konvertering av et unntak til en returverdi Feilnivåer
Eksempel programmer
- Polynomevaluering Bredde først søk Tilleggsøvelser
Mer om funksjoner
- Navngitte argumenter Objektorienterte anrop Lukninger Currying Tail-anrop Flere tildelinger og retur Varargs
Iteratorer og co-rutiner
- Det generiske for loop Stateless vs stateful iterators Forskjeller mellom iteratorer og co-rutiner
Metatabeller og metametoder
- Setteksemplet __tostring-metametoden Aritmetiske metametoder __indeksen, __newindex-metametoden __len-metametoden
Moduler og pakker
- Bruke moduler Opprette moduler Organisere moduler i pakker
Avanserte tabeller
- Tabeller for køer og stabler Tabeller som beskriver grafer Matriser som tabeller Koblede lister som tabeller Strengbuffere
Metatables gjennom eksempler
- Proxies Readonly Memoization Dynamisk programmering med memoization Fibonacci-eksemplet
Miljøer
- Forholdet mellom globale variabler og miljøer Frie variabler _ENV-tabellen og _G-tabellen
Mer om moduler
- Ulike tilnærminger til å lage moduler Moduler som endrer atferden Modulinitialisering og argumenter Bruke miljøer til å implementere sikre moduler
Avanserte iteratorer og co-rutiner
- Produsent, forbruker, filter Innpakning av co-rutiner for å få iteratorer Statsløs iterator for koblede lister
Bidra til økosystemet
- Laster opp pakker til MoonRocks
Funksjonelt paradigme i Lua
- Kartfunksjonen Reduser/fold funksjonen
Objektorientert Programming
- Ulike tilnærminger til OOP Ulike tilnærminger til arv Eksempler
En gjennomgang av Lua Standard Libraries
Samling
- Compilation Eval Forholdet til miljøet Binære biter
Søppelsamling
- Svake tabeller Finalizers, __gc-metametoden
Lua bytekode og virtuell maskin
- Generer bytekode fra kildekode Lese og analysere bytekode Hurtig gjennomgang av kildekoden til Lua VM
C-moduler
- Anroper C fra Lua Search bane og lasting av C-moduler
Ringer Lua fra C
- Stabelfeilhåndteringen fortsetter
Håndtering av Lua verdier og typer fra C
- Arrays Strings Userdata Metatables Objektorienterte anrop Lette brukerdata
Minnehåndtering
- Allocators GC API
Tråder i Lua
- Ko-rutiner vs tråder Ekte multi-threading og Lua tilstander
Krav
Kjennskap til minst ett annet programmeringsspråk. Programming erfaring. Eventuelt hvis du har kjennskap til andre skriptspråk, vil det gjøre det lettere å forstå Lua.
21 timer
Testimonials (3)
En stor mengde praktisk kunnskap vist i eksempler fra det virkelige liv.
Kamil - Streamsoft Kraków
Kurs - Java Advanced
Machine Translated
Presse endringer fortløpende, da jeg den 3. dagen begynte å gå mer vill enn før og det var vanskeligere å oppdage feilen raskt, kunne jeg raskt sjekke ut de siste endringene og holde meg oppdatert med materialet
Paulina
Kurs - Advanced Java Security
Machine Translated
Very good knowledge and character.