Typu Uderzenie

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Jeśli Luau próbuje użyć wartości lub zmiennej w operacji, takiej jak arytmetyka , konkatenacja lub 2> przypisanie2>, ale wartość nie jest wpisywać, którego oczekuje operacja, to Luau konwertuje ( 5> siły napędowe 5> ) wartość, aby

Arytmetyka

Luau wymusza ciągi do liczb w operacjach arytmetycznych . Ten zachowanie jest zbudowany w Luau. Jeśli rodzaje są niezgodne dla arytmetyki, Luau wyrzuca błąd i nie uruchamia reszty skryptu. Na przykład, nie możesz dodać ciągu do liczby, jeśli ciąg nie reprezentuje liczby.


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

Połączenie

W kumulacji Luau wymusza liczby na struny. Aby przekonać liczbę na strunę bez użycia kumulacji, użyj funkcji string.format().


print("Pi is " .. math.pi) --> Pi to 3.1415926535898
print("Pi is " .. 3.1415927) --> Pi to 3.1415927
-- Roundy do trzech miejsc dziesięciu dziesięciu dziesięciu
print("Pi is " .. string.format("%.3f", 3.1415927)) -- Pi is 3.142

Zakres

Niektóre właściwości oczekują pewnych typów danych, takich jak enum lub ciąg, ale możesz przypisać wartość innego typu do niej i Luau konwertuje wartość na typ oczekiwany przez właściwość.

Enumy

Luau wymusza numery i wartości zmiennej Part.Material w pełnym imieniu zmiennej. Na przykład możesz nazwać wartość print() własności używając liczby, ciąglub pełnego imienia zmiennej, a funkcja print() zawsze drukuje pełne imię zmienne. To dobre praktyki używania


local part1 = Instance.new("Part")
part1.Parent = workspace
part1.Material = 816
print(part1.Material) -- enum.Material.Concrete
local part2 = Instance.new("Part")
part2.Parent = workspace
part2.Material = "Concrete"
print(part2.Material) -- enum.Material.Concrete
-- To najlepsze praktyki, ponieważ jest najbardziej jasny
local part3 = Instance.new("Part")
part3.Parent = workspace
part3.Material = Enum.Material.Concrete
print(part3.Material) -- Enum.Material.Concrete

CzasDnia

Właściwość Lighting.TimeOfDay, która określa, czy jest to noc, dzień lub inny czas, jest reprezentacją w formie strunowej wpisywaćdanych DateTime. Jeśli przypiszesz numerowi Lighting.TimeOfDay, Luau przelicza go na reprezentację w formie strunowej 1>Datatype.DateTime1>.


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