Warum Luau nutzen?
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 2 von 80.
Das Typsystem von Luau bietet drei wesentliche Vorteile, die die Entwicklung sicherer und effizienter machen.
Fehler früh erkennen: Der Typprüfer analysiert deinen Code bereits beim Bearbeiten, bevor er ausgeführt wird. Betrachten wir einen klassischen Lua-Fehler: Es wird nil übergeben, obwohl eine Zahl erwartet wird:
-- Lua: Nichts warnt dich davor
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ Laufzeitfehler: Versuch, mit nil zu rechnenIn reinem Lua tritt der Absturz erst auf, wenn der fehlerhafte Aufruf tatsächlich ausgeführt wird: vielleicht vor deinen Nutzern. Schlimmer noch: Lua verbirgt den Fehler manchmal vollständig: "50" + 0.1 wandelt die Zeichenfolge stillschweigend um und gibt 50.1 zurück … bis zu dem Tag, an dem die Zeichenfolge keine Zahl mehr ist. Mit Luau-Typannotationen wird der Fehler sofort markiert:
local function calculateTotal(price: number, tax: number)
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ Typfehler beim Bearbeiten: nil ist keine ZahlBessere Lesbarkeit des Codes: Typannotationen dienen als Dokumentation. price: number sagt dir und deinem Team genau, was eine Funktion erwartet: kein Rätselraten und kein Durchsuchen der Implementierung.
Verbesserte Entwicklungswerkzeuge: Da der Editor den Typ jeder Variablen kennt, erhältst du eine präzise Autovervollständigung, sicherere Refactorings und eine intelligentere Navigation. Gib nach einem typisierten Wert einen Punkt ein, und der Editor listet genau auf, was verfügbar ist.
Aufgabe
EinfachGib beiden Parametern von calculateTotal den Typ number.
- Ändere in der ersten Zeile
(price, tax)zu(price: number, tax: number). - Lass den Aufruf
calculateTotal(80, 8)ganz unten stehen.
Drücke auf „Run Code“: Die Ausgabe zeigt 88.
Probier es selbst
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(80, 8))
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 Luau4Mit Funktionen arbeiten
Parameter und Rückgabewerte typisierenAnonyme Funktionen typisierenFunktionen ohne RückgabewertOptionale ParameterStandardwerte für ParameterStandardwerte für boolesche WerteFunktionen mit variabler ParameteranzahlFunktionstypen definierenRückblick: typisierte Funktionen7Projekt: Typisierter Aufgabenmanager
Projekt: Die AufgabenstrukturFunktion zum Hinzufügen einer Aufgabe2Grundlegende Typen
Zahl, String und BooleanDer Typ „any“: NotausgangDer Typ „unknown“Nil- und optionale TypenTypinferenz in der PraxisExplizite TypannotationenRückblick: Übung zu grundlegenden Typen5Typ-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 ArraysElemente hinzufügen und auslesenWas ist ein Map-Typ?Maps deklarieren und auf Elemente zugreifenTabellen durchlaufenTabellen mit gemischten FormenEin Raster auslesenEin Raster erstellentable.unpackRückblick: Arrays und MapsÜbe selbstständig: Online-Luau-Compiler