Typische Erzwingung

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Wenn Luau versucht, einen Wert oder Variable in einer Operation zu verwenden, wie Arithmetik , Kombination oder Zuweisung , aber der Wert nicht der Typ ist, den die Operation erwartet, dann konvertiert Luau ( zwingt ) den Wert, um seinen eingebenzu ändern.Einschüchterung passiert zur Laufzeit für diese Operation und ändert den Wert einer Variable nicht.

Arithmetik

Luau zwingt Zeichen zu Zahlen in arithmetischen Operationen.Dieses Verhalten ist in Luau integriert.Wenn die Arten für die Arithmetik unvereinbar sind, wirft Luau einen Fehler und führt den Rest des Skript, das. PL: die Skriptsnicht aus.Zum Beispiel kannst du keine Zeichenkette zu einer Zahl hinzufügen, wenn die Zeichenkette keine Zahl darstellt.


print(100 + "7") -- 107
print(100 - "7") -- 93
print("1000" + 234) -- 1234
print("1000" - 234) -- 766
print("hello" + 234) -- error: attempt to perform arithmetic (add) string and number

Konkatination

In der Kombination zwingt Luau Zahlen zu Zeichen. Um eine Zahl in eine Zeichenkette umzuwandeln, ohne Zwang zu verwenden, verwende die string.format() -Funktion.


print("Pi is " .. math.pi) --> Pi ist 3.1415926535898
print("Pi is " .. 3.1415927) --> Pi ist 3.1415927
-- Runden auf drei Dezimalstellen
print("Pi is " .. string.format("%.3f", 3.1415927)) -- Pi is 3.142

Zuordnung

Einige Eigenschaften erwarten bestimmte Datenformate, wie ein Enum oder eine String, aber du kannst ihr einen Wert eines anderen Typs zuweisen, und Luau konvertiert den Wert in den vom Eigenschaftstyp erwarteten Typ.

Nummern

Luau zwingt Zahlen und Zeichenketten von Enum-Werten in den vollständigen Enum-Namen.Zum Beispiel können Sie den Wert der Part.Material-Eigenschaft mit einer Zahl, einem String oder einem vollständigen Enum-Namen benennen, und die print()-Funktion druckt immer den vollständigen Enum-Namen aus.Es ist eine gute Praxis, explizit zu sein und den vollständigen Namen der Enum zu verwenden.Für weitere Informationen zu Enums sehen Sie Enums.


local Workspace = game:GetService("Workspace")
local part1 = Instance.new("Part")
part1.Material = 816
part1.Parent = Workspace
print(part1.Material) -- Enum.Material.Concrete
local part2 = Instance.new("Part")
part2.Material = "Concrete"
part2.Parent = Workspace
print(part2.Material) -- Enum.Material.Concrete
-- Das ist die beste Praxis, weil es die explizivste ist
local part3 = Instance.new("Part")
part3.Material = Enum.Material.Concrete
part3.Parent = Workspace
print(part3.Material) -- Enum.Material.Concrete

Tageszeit

Die EigenschaftenLighting.TimeOfDay, die definiert, ob es Nacht, Tag oder eine andere Zeit ist, ist eine Zeichenfolge der DateTime eingeben.Wenn du einer Zahl die Zahl Lighting.TimeOfDay zuweist, konvertiert Luau sie in die Zeichenfolgen-Repräsentation von DateTime.


local Lighting = game:GetService("Lighting")
Lighting.TimeOfDay = "05:00:00"
print(Lighting.TimeOfDay) -- 05:00:00
Lighting.TimeOfDay = 5
print(Lighting.TimeOfDay) -- 05:00:00