Arrays als tabellen
Indexering vanaf 1 in Lua.
Arrays als tabellen is een gratis Lua Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Lua Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Lua Academy bevat in totaal 4 lessen.
Tabellen zijn Lua-lijsten
Lua heeft één containertype: de tabel. Wanneer je waarden in volgorde opslaat, gedraagt de tabel zich als een array of lijst.
Je maakt een lege tabel met {} en vult deze later, of je zet de waarden meteen tussen de accolades.
local fruits = {"apple", "banana", "cherry"}
print(fruits)Indexering begint bij 1
Dit is de belangrijkste regel: Lua-arrays zijn 1-gebaseerd. Het eerste element staat op index 1, niet op 0.
Gebruik vierkante haken om een element op basis van zijn positie te lezen.
local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])Index nul is leeg
Omdat het tellen bij 1 begint, bevat positie 0 normaal gesproken niets.
Als je een index leest die nooit is ingesteld, retourneert Lua nil. Beginners die uit andere talen komen, lopen hier vaak tegenaan.
local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])Een element schrijven
Wijs een waarde toe aan een positie met de syntaxis met vierkante haken om de waarde in te stellen of te vervangen.
Hier overschrijven we de tweede positie. De wijziging is zichtbaar zodra we die index opnieuw lezen.
local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])Een tabel stap voor stap opbouwen
Je kunt leeg beginnen en elementen toevoegen op opeenvolgende indexen. Begin bij 1 om een nette reeks te behouden.
Een reeks bevat geen gaten: de indexen 1, 2 en 3 zijn allemaal gevuld.
local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])Gemengde waardetypen
Een Lua-tabel kan waarden van verschillende typen in dezelfde reeks bevatten: getallen, tekenreeksen en booleans.
Lua verplicht niet dat elk element hetzelfde type heeft, zoals sommige talen wel doen.
local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])Alle elementen afdrukken
Als je elk element wilt weergeven, loop je met een numerieke for-lus vanaf index 1 omhoog.
In een latere les leer je een nettere manier (ipairs), maar deze lus maakt het bereik op basis van 1 duidelijk.
local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
print(i, pets[i])
endGeneste tabellen
Een element van een tabel kan zelf ook een tabel zijn. Zo kun je rijen, rasters of gegroepeerde gegevens opbouwen.
Gebruik meerdere vierkante haken achter elkaar om naar binnen te gaan: grid[1][2] leest rij 1, kolom 2 (beide gebaseerd op 1).
local grid = {
{1, 2, 3},
{4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])Eerste en laatste element op basis van positie
Het eerste element is altijd list[1]. In een reeks met een bekende grootte staat het laatste element op de index die gelijk is aan die grootte.
Hier betekent drie elementen dat het laatste element op index 3 staat.
local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])Waarden ter plaatse wijzigen
Tabellen zijn wijzigbaar. Je kunt elke bestaande positie bijwerken zonder de hele lijst opnieuw op te bouwen.
Hieronder verhogen we elke score door elke index in een lus opnieuw een waarde toe te wijzen.
local scores = {1, 2, 3}
for i = 1, 3 do
scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])Tabellen als records versus arrays
Hetzelfde tabeltype slaat ook benoemde sleutels op, zoals person.name. Wanneer de sleutels de gehele getallen 1, 2, 3... zijn, noemen we het een reeks of array.
Deze les richt zich op de reeksstijl met numerieke sleutels die bij 1 beginnen.
local list = {"a", "b"}
list[3] = "c"
print(list[1], list[2], list[3])Kennischeck
Test je begrip van indexering in Lua.
Samenvatting
Je hebt geleerd dat Lua tabellen als arrays gebruikt en dat indexering bij 1 begint: het eerste element staat op [1].
Je kunt tabel-elementen lezen, schrijven en nesten, en een nette reeks bevat geen gaten. Daarna voeg je elementen dynamisch toe en verwijder je ze.
Leer Lua met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 40
- Lessen
- 159
Veelgestelde vragen
Is de les “Arrays als tabellen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Lua Academy, waaronder “Arrays als tabellen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Lua Academy bevat in totaal 4 lessen.
Wat leer ik in “Arrays als tabellen”?
Indexering vanaf 1 in Lua. Je oefent met Lua Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Lua Academy te beginnen?
Ervaring vooraf is niet nodig. Lua Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Arrays als tabellen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Lua Academy?
Ja. Elke les over Lua Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Arrays als tabellen
- Items toevoegen en verwijderen
- Itereren met ipairs
- Lengte en sorteren