Zusammenfassung: Definieren von Tabellen-Shapes
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 44 von 73.
Aufgabe
MittelErstelle einen Typ-Alias namens Computer mit:
idvom Typnumberbrandvom TypstringramInGBvom Typnumber?(optional)boot— eine Methode(self: Computer) -> ()
Erstelle zwei Computer (füge boot mit der Doppelpunkt-Definitionssyntax hinzu):
workstation— id1001, brand"Dell", ramInGB16; seinbootgibt[brand] is booting up...auslaptop— id1002, brand"MacBook", kein ramInGB; seinbootgibt[brand] is starting...aus
Erstelle eine Funktion specs, die einen Computer entgegennimmt und einen string zurückgibt: [brand] with [ramInGB] GB of RAM, wenn der RAM bekannt ist, andernfalls [brand] with unknown RAM.
Führe danach in dieser Reihenfolge Folgendes aus:
- rufe
workstation:boot()auf - rufe
laptop:boot()auf - gib
specs(workstation)aus - gib
specs(laptop)aus - gib die id von
workstationaus
Probier es selbst
-- Schreibe Code hier
-- 1) definiere Typ Computer (optional ramInGB, boot-Methode)
-- 2) erstelle workstation und laptop, hänge boot mit Doppelpunkt-Syntax an
-- 3) schreibe specs mit einem nil-Check auf ramInGB
-- 4) boote beide, drucke beide specs, drucke workstation.id
Alle Lektionen in Einführung in Luau
1Erste Schritte mit Luau
Was ist Luau?Warum Luau nutzen?Dein erster Luau-CodeTypprüfung & FehlermodiZusammenfassung: Einführung in Luau4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von anonymen FunktionenFunktionen ohne RückgabewertOptionale ParameterStandard-ParameterwerteVariadische FunktionenDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen2Grundtypen
Grundlegende Typen: num, str, boolDer Typ 'any': Der AuswegDer Typ 'unknown'Nil- & optionale TypenTypinferenz in der PraxisExplizite TypannotationenZusammenfassung: Praxis zu Grundtypen5Typ-Aliase, Union-Typen und Schnittmengen-Typen
Typ-Aliase für PrimitivenUnion-TypenArbeiten mit Union-TypenLiterale TypenSchnittmengen-Typen (Intersection Types)Kombination von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Typisierte Tabellen: Arrays & Maps
Typisierte ArraysHinzufügen und Lesen von ElementenWas ist ein Map-Typ?Deklarieren und Zugreifen auf MapsIterieren von TabellenGemischt-strukturierte TabellenMehrdimensionale typisierte Arraystable.unpack und VarargsZusammenfassung: Arrays und Maps6Typisieren von Tabellen-Shapes
Inline-Shape-AnnotationenTyp-Aliase für ShapesOptionale EigenschaftenShapes vs. lose TabellenShapes erweiternMethoden zu Shapes hinzufügenSelf und Methoden mit DoppelpunktZusammenfassung: Definieren von Tabellen-Shapes