Silnik globalny
Luau globals
*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.
Podsumowanie
Funkcje
collectgarbage(operation: string):Variant |
getmetatable(t: Variant):Variant |
loadstring(contents: string,chunkname: string):Variant |
require(module: ModuleScript | string | number):Variant |
setmetatable(t: table,newMeta: Variant):table |
Materiały referencyjne dotyczące interfejsów API
Funkcje
assert
collectgarbage
error
getfenv
getmetatable
getmetatable(t:Variant):Variant
Parametry
t:Variant |
Zwroty
Variant
Przykłady kodu
Pobierz metatabelę
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> true
-- Uczyń oryginalną metatabelę nieodwracalną, ustawiając metodę __metatable:
meta.__metatable = "chroniona"
print(getmetatable(t)) --> chronionaipairs
loadstring
newproxy
next
pairs
pcall
Zwroty
Przykłady kodu
Pcall
local function divideByFive(n: number): number
return n / 5
end
local success, errorMessage = pcall(divideByFive, "notANumber") -- Skutkuje błędem...
if success then
-- Obsłuż odpowiedź sukcesu...
else
print("Wiadomość o błędzie:", errorMessage)
endrawset
require
Parametry
Zwroty
Variant
Przykłady kodu
Wymagana Resolucja Modułu
-- Prefiks "./" jest równoważny script.Parent
require("./MySibling")
require((script.Parent).MySibling)
-- Prefiks "../" jest równoważny script.Parent.Parent
require("../SiblingOfMyParent")
require((script.Parent.Parent).SiblingOfMyParent)
-- "../" można łączyć, aby przejść przez wiele poziomów
require("../../SiblingOfMyGrandparent")
require((script.Parent.Parent).Parent.SiblingOfMyGrandparent)
-- Prefiks "@self" odpowiada samemu skryptowi
require("@self/MyChild")
require((script).MyChild)
-- Prefiks "@game" odpowiada korzeniowi DataModel
require("@game/ReplicatedStorage/Shared/MyModule")
require((game).ReplicatedStorage.Shared.MyModule)select
setfenv
setmetatable
Parametry
newMeta:Variant |
Zwroty
Przykłady kodu
Ustaw metatable
local meta = {__metatable = "protected"}
local t = {}
setmetatable(t, meta) -- To ustawia metatable dla t
-- Teraz mamy tabelę, t, z metatable. Jeśli spróbujemy ją zmienić...
local ok, err = pcall(setmetatable, t, {})
assert(not ok and err:find("protected")) -- Błąd: nie można zmienić chronionego metatabletonumber
Parametry
arg:Variant |
| Wartość domyślna: 10 |
Zwroty
Variant
Przykłady kodu
Tonumber
print(tonumber("1337")) --> 1337 (zakłada system dziesiętny, dziesiętny)
print(tonumber("1.25")) --> 1.25 (system dziesiętny może mieć część dziesiętną)
print(tonumber("3e2")) --> 300 (system dziesiętny może mieć część wykładniczą, 3 × 10 ^ 2)
print(tonumber("25", 8)) --> 21 (system 8, ósemkowy)
print(tonumber("0x100")) --> 256 (zakłada system szesnastkowy, szesnastkowy)
print(tonumber("roblox")) --> nil (nie zgłasza błędu)
-- Wskazówka: użyj z assert, jeśli chcesz, aby nieprzekształcalne liczby zgłaszały błąd
local ok, err = pcall(function() assert(tonumber("roblox")) end)
print(ok and "Sukces" or "Błąd: " .. tostring(err)) --> Błąd: niepowiodło się asercjatostring
unpack
Właściwości