Zugriff auf Elemente per Index
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 58 von 90.
Um auf ein bestimmtes Element in einer listenartigen Tabelle zuzugreifen, verwenden Sie eckige Klammern mit der Positionsnummer des gewünschten Elements.
Hier ist die grundlegende Syntax:
local items = {"sword", "shield", "potion"}
print(items[1]) -- Ausgabe: sword
print(items[2]) -- Ausgabe: shieldEs gibt etwas sehr Wichtiges, das man sich über Lua merken sollte: Tabellenindizes beginnen bei 1, nicht bei 0. Dies unterscheidet sich von vielen anderen Programmiersprachen, bei denen das erste Element an Position 0 steht. In Lua befindet sich das erste Element immer an Index 1, das zweite an Index 2 und so weiter.
local scores = {100, 85, 92}
print(scores[1]) -- erster Punktestand: 100
print(scores[3]) -- dritter Punktestand: 92Dieses Indizierungssystem lässt Lua-Tabellen natürlicher wirken, wenn man über Positionen nachdenkt – das erste Element befindet sich an Position 1, genau so, wie man im Alltag zählen würde.
Aufgabe
EinfachErstelle ein Schatzkisten-Inventarsystem, das den Zugriff auf Tabellenelemente demonstriert. Erstelle zuerst eine Tabelle namens treasureChest, die genau vier String-Werte enthält: "gold coin", "ruby gem", "magic scroll" und "silver key". Verwende nach dem Erstellen der Tabelle die eckige Klammerschreibweise, um auf das dritte Element aus der Schatzkiste zuzugreifen und es auszugeben.
Spickzettel
Um auf ein bestimmtes Element in einer Tabelle zuzugreifen, verwende eckige Klammern mit der Positionsnummer:
local items = {"sword", "shield", "potion"}
print(items[1]) -- Ausgabe: sword
print(items[2]) -- Ausgabe: shieldWichtig: Lua-Tabellenindizes beginnen bei 1, nicht bei 0. Das erste Element befindet sich bei Index 1, das zweite bei Index 2 und so weiter.
local scores = {100, 85, 92}
print(scores[1]) -- erste Punktzahl: 100
print(scores[3]) -- dritte Punktzahl: 92Probier es selbst
-- TODO: Erstelle die treasureChest-Tabelle mit den vier Elementen
-- TODO: Greife auf das dritte Element aus der Schatzkiste zu und gib es ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren 2: Vergleichs- & Logikoperatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorShort-Circuit EvaluationTruthy- und Falsy-WerteZusammenfassung – Einfache Logik7Grundlagen der bedingten Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungZusammenfassung – Schatzkiste10Tabellen Teil 1: Listen-Stil
Was ist eine Tabelle?Eine Tabelle erstellenZugriff auf Elemente per IndexElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Zusammenfassung - Gruppenmitglieder verwalten13Projekt: Einfacher Zaubertrank-Laden
Projekt-SetupEinen Trank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenStringsBooleansDer Wert 'nil'Die type()-FunktionNamenskonventionenZusammenfassung - Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring() FunktionEingabeCastWiederholung - StatusberichtWiederholung - Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Wiederholung - Benutzernamen formatieren11Tabellen 2: Dictionary-Stil
Schlüssel-Wert-PaareDictionary-Stil Tabellen erstellenZugriff – KlammerschreibweiseZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenWiederholung – Elementeigenschaften14Gültigkeitsbereich von Variablen
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Scope-Rätsel3Operatoren 1 Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorString-VerkettungOperatorrangfolgeRückblick - Einfache Berechnungen6Projekt: Charakter-Stats Anzeige
WillkommensnachrichtCharakter-Stats deklarieren9Grundlagen der Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie 'return'-AnweisungZusammenfassung - Flächenrechner12Schleifen-Grundlagen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie 'break'-AnweisungZusammenfassung - Countdown15Abschluss-Herausforderungen
Wiederholung – SpielerzugWiederholung – Einfache DatenbankWiederholung – Summe gerader Zahlen