Wenn Luau versucht, einen Wert oder eine Variable in einem Betrieb zu verwenden, wie z. B. Arithmetik, Konzentration oder 2>Zuweisung2>, aber der Wert nicht der erwarteten Art ist, dann konvertiert Luau ( 5>Köder5> ) den Wert, um seine eingebenzu ändern. Kö
Arithmetik
Luau zwingt Streifen zu Zahlen in arithmetischen Operationen . Dieses Verhalten wird in Luau integriert. Wenn die Arten für Arithmetik inkompatibel sind, ruft Luau einen Fehler an und führt den Rest des Skript, das. PL: die Skriptsnicht aus. Zum Beispiel können Sie keine Zeichen zu einer Zahl hinzufügen, wenn die Zeichen keine Zahl repräsentieren.
print(100 + "7") -- 107print(100 - "7") -- 93print("1000" + 234) -- 1234print("1000" - 234) -- 766print("hello" + 234) -- error: attempt to perform arithmetic (add) string and number
Konzentration
In der Konzentration Luau zwingt Zahlen in Zeichen. Um eine Zahl in ein Zeichen umzuwandeln, ohne Coercion zu verwenden, verwenden Sie die Library.String.format() -Funktion.
print("Pi is " .. math.pi) --> Pi ist 3.1415926535898print("Pi is " .. 3.1415927) --> Pi ist 3.1415927-- Runden zu drei Zeichenprint("Pi is " .. string.format("%.3f", 3.1415927)) -- Pi is 3.142
Zuordnen
Einige Eigenschaften erwarten bestimmte Datenarten, wie z. B. einen Enumerator oder eine String, aber Sie können dem Wert eines anderen Typs einen Wert zuweisen und Luau verwandelt den Wert in den Typ, den die Eigenschaft erwartet.
Enums
Luau zwingt Zahlen und Strings von Enumerals in den vollständigen Enumeralnamen. Zum Beispiel können Sie den Wert der Part.Material -Eigenschaft mit einer Zahl, einer Strings oder einem vollständigen Enumeralnamen namens, und die print() -Funktion druckt immer den vollständigen Enumeralnamen aus. Es ist eine beste Praktik, expliz zu sein und den vollständigen Enumeralnamen zu verw
local part1 = Instance.new("Part")part1.Parent = workspacepart1.Material = 816print(part1.Material) -- enum.Material.Concretelocal part2 = Instance.new("Part")part2.Parent = workspacepart2.Material = "Concrete"print(part2.Material) -- enum.Material.Concrete-- Dies ist die beste Praxis, da es die eindeutigste istlocal part3 = Instance.new("Part")part3.Parent = workspacepart3.Material = Enum.Material.Concreteprint(part3.Material) -- Enum.Material.Concrete
Tageszeit
Die DateTime Eigenschaften, die definiert, ob es Nacht, Tag oder irgendeine andere Zeit ist, ist eine Stringsdarstellung des Datatype.DateTimeeingeben. Wenn Sie einer Zahl zu 1>Class.Lighting.TimeOfDay1> zuweisen, konvertiert Luau sie in die Stringsdarstellung von 4>Datatype.DateTime4>.
local Lighting = game:GetService("Lighting")Lighting.TimeOfDay = "05:00:00"print(Lighting.TimeOfDay) -- 05:00:00Lighting.TimeOfDay = 5print(Lighting.TimeOfDay) -- 05:00:00