Menu
Coddy logo textTech

Inline-Shape-Annotationen

Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 37 von 73.

In Lua nutzt du Tabellen schon lange als Records: local user = {name = "Ana", age = 20}. Nichts hält dich davon ab, ein Feld falsch zu schreiben, eines zu vergessen oder einen String dort zu speichern, wo eine Zahl hingehört — du findest es erst heraus, wenn der Code läuft.

Luau ermöglicht es dir, die Form (Shape) einer solchen Tabelle direkt in der Deklaration zu beschreiben, indem du jedes Feld und seinen Typ zwischen geschweiften Klammern auflistest:

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

Vergleiche dies mit den Tabellentypen, die du bereits kennst: {number} beschreibt ein Array und {[string]: number} beschreibt eine Map mit beliebigen String-Schlüsseln. Eine Shape ist präziser — sie benennt jedes Feld einzeln und gibt jedem Feld seinen eigenen Typ.

Sobald die Shape deklariert ist, überprüft der Type Checker die Tabelle beim Bearbeiten gegen diese Form. Ein fehlendes Feld oder ein falscher Werttyp wird gemeldet, bevor der Code jemals ausgeführt wird:

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ Typfehler: string ist keine number
}

Wie immer fügt die Annotation kein Laufzeitverhalten hinzu — die Tabelle ist eine normale Lua-Tabelle. Inline-Shapes eignen sich perfekt für einmalige Strukturen, die du nicht wiederverwenden möchtest; in der nächsten Lektion wirst du Shapes einen Namen geben.

challenge icon

Aufgabe

Einfach

Erstelle eine Variable namens student mit einer Inline-shape-annotation, die Folgendes deklariert:

  • name vom Typ string
  • studentId vom Typ number
  • isEnrolled vom Typ boolean

Initialisiere sie mit name "Sarah Johnson", studentId 12345 und isEnrolled true.

Erstelle eine zweite Variable namens course mit einer Inline-shape-annotation, die Folgendes deklariert:

  • title vom Typ string
  • credits vom Typ number
  • instructor vom Typ string

Initialisiere sie mit title "Introduction to Luau", credits 3 und instructor "Dr. Smith".

Gib Folgendes jeweils in einer eigenen Zeile aus:

  1. den Namen des student
  2. die ID des student
  3. den Titel des course
  4. die Anzahl der credits

Probier es selbst

-- Schreibe den Code hier
-- 1) deklariere student mit einer Inline-Shape-Annotation
-- 2) deklariere course mit einer Inline-Shape-Annotation
-- 3) gib die vier angeforderten Felder aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Einführung in Luau