Takk for at du sendte din henvendelse! En av våre teammedlemmer vil kontakte deg straks.
Takk for at du sendte din bestilling! En av våre teammedlemmer vil kontakte deg straks.
Varighet 14 timer
Kursplan
Introduksjon til Lua
- En liten historie
- Lua sin formål, egenskaper og ikke-mål
- Ressurser for Lua-dokumentasjon og kurser
- Installasjon av Lua-tolkeren
- Innstilling og bruk av LuaRocks
Grunnleggende syntaks og semantikk
- Identifikatorer
- Kommentarer, blokkkommentarer
- Global variabler og håndheving av strenghet
- Lokale variabler
- Selfstendige programmer, programargumenter
- Kompilasjonselementer, koder, uttrykk, semikolon
Data typer og datastrukturer
- Grunntyper: nil, boolean, tall, streng
- Objekttyper: funksjon, brukdata, tråd, tabell
- Referanser/objekter vs. grunnverdier
- Viktigheten av tabeller i Lua
Introduksjon til tabeller og deres allsidighet
- Tabeller som assosiativt arrray
- Tabeller som numeriske arrayer, sekvenser
Grunnleggende kontrollstrukturer
- if then elseif else end
- Mens-sirkelen
- Repeat-sirkelen
- Enkel for-sirkel
Feilhåndtering
- Tilbakevendte verdier vs unntak
- Konvertering av en tilbakevendt verdi til et unntak
- Konvertering av et unntak til en tilbakevendt verdi
- Feilnivåer
Eksempelprogrammer
- Polinomevaluering
- Bredde-første-søk
- Ekstraøvelser
Mer om funksjoner
- Navngitte argumenter
- Objektorienterte kall
- Lukninger
- Currying
- Halespill
- Flere tildeling og returnering
- Varargs
Iteratorer og korutiner
- Den generelle for-sirkelen
- Stateless vs stateful iteratorer
- Skjell mellom iteratorer og korutiner
Metatabeller og metamedetoder
- Set-eksempelet
- __tostring-metamedetoden
- Arithmeticke metamedetoder
- __index, __newindex metamedetoder
- __len-metamedetoden
Moduler og pakker
- Bruk av moduler
- Oppretting av moduler
- Organisering av moduler i pakker
Objektorientert programmering
- Byggeklossene i OOP i Lua
- Eksempler
Samtale om mer avanserte språkegenskaper
- Veke tabeller
- Finalizerer
- Kompilering, eval, lasting
Krav
Kjennskap til minst ett annet programmeringsspråk. Erfaring med programmering. Valgfritt: Kjennskap til andre skriptspråk kan gjøre det lettere å forstå Lua.