Was ist Luau?
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 1 von 73.
Luau ist eine bei Roblox entwickelte Programmiersprache, die auf dem Lua aufbaut, das Sie bereits kennen, und es um graduelle statische Typen erweitert. Stellen Sie es sich wie Lua mit einer zusätzlichen Schicht an Sicherheit und Werkzeugen vor — es treibt Millionen von Roblox-Erlebnissen an und ist seit 2021 Open Source.
Die Kernidee ist, dass Luau eine Obergruppe (Superset) von Lua 5.1 ist. Jeder valid Lua 5.1-Code ist also valid Luau-Code: Sie können ein Skript, das Sie in den vorherigen Abschnitten geschrieben haben, unverändert als Luau ausführen.
Was Luau zusätzlich bietet, sind Typ-Annotationen. Eine annotation deklariert, welche Art von Daten eine Variable enthalten sollte — ein string, ein number, ein Boolean, eine Tabelle —, sodass Fehler erkannt werden können, bevor Ihr Code überhaupt ausgeführt wird:
-- Lua (also valid Luau)
local message = "Hello World"
-- Luau with a type annotation
local message: string = "Hello World"Das Wort graduell ist wichtig: Annotationen sind optional. Sie können eine einzelne Variable, eine Funktion oder eine ganze Datei mit Typen versehen — nicht typisierter Code im Lua-Stil funktioniert weiterhin, während Sie in Ihrem eigenen Tempo Typen hinzufügen.
Im Gegenzug erhalten Sie bessere Editor-Werkzeuge, lesbareren Code und Schutz vor den Arten von Fehlern, die reines Lua erst während der Laufzeit des Programms aufdeckt.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
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
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 Maps