Items toevoegen en verwijderen
Gebruik table.insert en remove.
Items toevoegen en verwijderen is een gratis Lua Academy-les op CoddyKit. Dit is les 2 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.
Een reeks uitbreiden
Echte lijsten veranderen van grootte terwijl een programma draait. Lua biedt table.insert om elementen aan het einde toe te voegen.
Omdat reeksen bij 1 beginnen, komt een toevoeging na twee elementen op index 3 terecht.
local list = {"a", "b"}
table.insert(list, "c")
print(list[1], list[2], list[3])table.insert voegt elementen aan het einde toe
Wanneer je table.insert(t, value) met twee argumenten aanroept, plaatst de functie value op de positie direct na de huidige laatste index.
Elke aanroep breidt de reeks met één element uit, waarbij de indexen aaneengesloten blijven.
local q = {}
table.insert(q, "first")
table.insert(q, "second")
print(q[1], q[2])Op een positie invoegen
Met drie argumenten voegt table.insert(t, pos, value) een element in op index pos en schuift de latere elementen op.
Hier plaatsen we "X" op positie 2, waardoor het oude tweede element naar positie 3 schuift.
local list = {"a", "b", "c"}
table.insert(list, 2, "X")
print(list[1], list[2], list[3], list[4])Vooraan invoegen
Voeg het element in op positie 1 om het vooraan te plaatsen. Elk bestaand element schuift één index omhoog.
Dit is handig, maar voor grote lijsten trager omdat Lua alle elementen moet verplaatsen.
local list = {"b", "c"}
table.insert(list, 1, "a")
print(list[1], list[2], list[3])Het laatste element verwijderen
table.remove(t) met één argument verwijdert het laatste element en retourneert het.
De reeks wordt één element kleiner en blijft aaneengesloten.
local list = {"a", "b", "c"}
local gone = table.remove(list)
print("removed:", gone)
print(list[1], list[2], list[3])Op een positie verwijderen
table.remove(t, pos) verwijdert het element op pos en schuift de latere elementen omlaag om het gat te sluiten.
Onthoud dat posities bij 1 beginnen, dus met pos = 1 verwijder je het eerste element.
local list = {"a", "b", "c"}
local gone = table.remove(list, 1)
print("removed:", gone)
print(list[1], list[2])Remove retourneert de waarde
Beide vormen van table.remove retourneren de waarde die ze hebben verwijderd, zodat je deze meteen kunt gebruiken.
Zo gedraagt een tabel zich als een stapel: elementen toevoegen met insert en verwijderen met remove.
local stack = {}
table.insert(stack, 10)
table.insert(stack, 20)
local top = table.remove(stack)
print("popped:", top)Een eenvoudige wachtrij
Voeg elementen aan het einde toe en verwijder ze aan de voorkant (pos = 1) om een wachtrij te modelleren: het eerste erin, het eerste eruit.
Bij elke verwijdering schuift de rest omlaag, zodat het volgende element op index 1 staat.
local queue = {}
table.insert(queue, "Ann")
table.insert(queue, "Bob")
print("serving:", table.remove(queue, 1))
print("next:", queue[1])Vermijd handmatige gaten
Een element instellen op nil met list[2] = nil kan een gat in het midden achterlaten, waardoor de reeks niet meer klopt.
Gebruik liever table.remove, dat elementen verschuift en de indexen aaneengesloten houdt.
local list = {"a", "b", "c"}
table.remove(list, 2)
print(list[1], list[2])Een tabel opbouwen vanuit invoer
Een veelgebruikt patroon is: begin met een lege tabel en voeg elementen toe zodra de gegevens binnenkomen.
Hier verzamelen we even getallen in een nieuwe reeks met insert.
local evens = {}
for n = 1, 6 do
if n % 2 == 0 then
table.insert(evens, n)
end
end
print(evens[1], evens[2], evens[3])Invoegen en verwijderen combineren
Je kunt bewerkingen vrij combineren. Hieronder voegen we drie namen toe en verwijderen we daarna de middelste.
Na de verwijdering bevat de lijst twee aaneengesloten elementen.
local names = {}
table.insert(names, "Al")
table.insert(names, "Bea")
table.insert(names, "Cy")
table.remove(names, 2)
print(names[1], names[2])Kennischeck
Denk na over hoe het verwijderen de reeks verschuift.
Samenvatting
Je hebt geleerd lijsten uit te breiden met table.insert (toevoegen aan het einde of invoegen op een positie die bij 1 begint) en ze te verkleinen met table.remove, dat de verwijderde waarde retourneert en gaten sluit.
Vermijd handmatige gaten met nil. Daarna leer je reeksen netjes door te lopen met ipairs.
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 “Items toevoegen en verwijderen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Lua Academy, waaronder “Items toevoegen en verwijderen”, 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 “Items toevoegen en verwijderen”?
Gebruik table.insert en remove. 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 2 van 4.
Hoe lang duurt de les “Items toevoegen en verwijderen”?
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