Welkom bij deze les over Lua,

In deze les leer je de basis én extra onderdelen van Lua.

Wat is Lua?

Lua is een snelle, simpele en flexibele programmeertaal.
Lua wordt veel gebruikt in games zoals Roblox, World of Warcraft en GMod.
Lua is perfect voor beginners én professionals.

Lua variabelen

Variabelen

Variabelen gebruiken we om informatie op te slaan.

naam = "Jan"
leeftijd = 14


Lua maakt variabelen automatisch aan.

Datatypes

Lua heeft deze belangrijke datatypes:
• string
• number
• boolean
• table
• nil (geen waarde)

score = 100
actief = true
naam = "Tom"

Lua datatypes
Lua functies

Functies

Functies zijn herbruikbare stukken code.

function hallo()
  print("Hallo!")
end

If statements

If-statements voeren code uit als een voorwaarde waar is.

if leeftijd >= 16 then
  print("Je mag rijden!")
end

Lua if voorbeeld
Lua loops

Loops

Loops laten code meerdere keren herhalen.

for i = 1, 5 do
  print(i)
end

Tabellen

Tabellen zijn het krachtigste datatype in Lua.
Ze kunnen lijsten, objecten en combinaties bevatten.

speler = {naam = "Jan", score = 200}

Lua tabellen

Commentaar

Commentaar gebruik je om uitleg in je code te zetten.

-- Dit is een comment
-- Dit wordt niet uitgevoerd

Lua comment
Lua operators

Operators

Lua ondersteunt veel operators zoals:
+ - * / %
== ~= > < >= <=

if a ~= b then
  print("Niet gelijk")
end

Strings bewerken

Lua heeft handige functies voor strings:

tekst = "Hallo wereld"
print(tekst:upper())
print(tekst:lower())

Lua strings
Lua math

Math functies

Lua heeft een sterke math-bibliotheek:

print(math.random(1, 10))
print(math.sqrt(64))
print(math.floor(3.7))

Lua onderdeel Beschrijving
print() Schrijft tekst naar output
function Maakt een functie
local Maak een lokale variabele
if/elseif/else Voorwaardes
for Teller-loop
while Loop zolang een conditie waar is
repeat until Loop tot een conditie waar wordt
table.insert() Voegt item toe aan tabel
table.remove() Verwijdert item
table.sort() Sorteert een tabel
table.concat() Combineert items tot string
pairs() Itereren over een tabel
ipairs() Itereren in volgorde
math.random() Random getal
math.sqrt() Vierkantswortel
math.floor() Naar beneden afronden
math.ceil() Naar boven afronden
string.upper() Maak tekst hoofdletters
string.lower() Maak tekst kleine letters
string.len() Lengte van string
string.sub() String knippen
nil Geen waarde
true/false Booleans
... Extra parameters
return Geeft waarde terug
os.time() Tijd in seconden
os.date() Datum en tijd
math.floor() Rondt een getal naar beneden af
math.ceil() Rondt een getal naar boven af
string.upper() Zet een string om naar hoofdletters
string.lower() Zet een string om naar kleine letters
string.sub() Haalt een deel van een string op (substring)
os.time() Geeft de huidige tijd in seconden
os.date() Geeft datum/tijd terug in een format
table.insert() Voegt een waarde toe aan een tabel
table.remove() Verwijdert een waarde uit een tabel
ipairs() Loopt door een tabel met numerieke indexen in volgorde
pairs() Loopt door alle sleutel-waarde paren in een tabel
string.format() Formatteert een string met variabelen
string.match() Zoekt een patroon in een string
tonumber() Converteert een waarde naar een getal
tostring() Converteert een waarde naar een string
type() Geeft het datatype van een waarde terug